我有两个班:
Generator
和
Motor
.
这是一个精简版的
发电机
以下内容:
class Generator {
private:
Motor motor; // this will be initialized later
// However, this line causes the constructor to run.
public:
Generator(string);
}
Generator::Generator(string filename) {
motor = Motor(filename); // initialisation here
}
这里是Motor类的定义:
class Motor {
public:
Motor();
Motor(string filename);
}
Motor::Motor() {
cout << "invalid empty constructor called" << endl;
}
Motor::Motor(string filename) {
cout << "valid constructor called" << endl;
}
这是我的
main()
功能:
int main(int argc, char* argv[]) {
Generator generator = Generator(argv[1]);
....
....
}
输出是
调用的空构造函数无效
调用的有效构造函数
如何定义类
发电机
举个例子
电动机
不调用的空构造函数
电动机
,直到以后?
我必须包含空构造函数,因为
g++
拒绝编译没有它。