行走to 发表于 2018-11-2 18:38:46

关于类的小问题




各位大佬,为什么在plane下有红线呢?


moc 发表于 2018-11-2 19:12:22

你在类对象实例化时,类需要一个构造函数来给这个实例初始化,
明显在你的类中你提供了有参的构造函数,
    根据C++编译器提供构造函数规则, 当你在类中定义了有参构造函数,C++编译器便不会再提供无参构造函数。
    所以你这个类没有提供无参构造函数,你却想要不提供参数来初始化实例,自然不对了啥...

行走to 发表于 2018-11-2 21:46:21

moc 发表于 2018-11-2 19:12
你在类对象实例化时,类需要一个构造函数来给这个实例初始化,
明显在你的类中你提供了有参的构造函数,
...

那如果我不把那个有参的构造函数换成无参的话,那又应该怎么初始化呢?

moc 发表于 2018-11-2 21:48:52

行走to 发表于 2018-11-2 21:46
那如果我不把那个有参的构造函数换成无参的话,那又应该怎么初始化呢?

在你的类里显式写一个无参构造函数就可以啦,构造函数是可以重载的啊

行走to 发表于 2018-11-2 21:49:35

行走to 发表于 2018-11-2 21:46
那如果我不把那个有参的构造函数换成无参的话,那又应该怎么初始化呢?

还是说只能把有参变成无参才可以

行走to 发表于 2018-11-2 21:58:11

moc 发表于 2018-11-2 21:48
在你的类里显式写一个无参构造函数就可以啦,构造函数是可以重载的啊

对的啊!谢谢你啦!厉害,厉害
页: [1]
查看完整版本: 关于类的小问题