<分区>
下面的代码显示了 2 个类 person 和 trouble_maker。在这个例子中,我有点困惑为什么 trouble_maker 类不能直接在实例化列表中设置它从 person 继承的变量名。为什么必须先创建 trouble_maker 对象才能设置变量名?
#include <string>
class person {
int age;
public:
person(int age);
protected:
std::string name;
};
person::person(int age) : age(age) {
}
class trouble_maker : person {
public:
trouble_maker(std::string name, int age);
};
trouble_maker::trouble_maker(std::string name, int age) : person(age), name(name) //name is not a static memeber
{
this->name = name; // works fine
}
int main() {
person a_person();
return 0;
}