class class1 {
public:
class1(int x);
};
class class2 : public class1 {
};
我可不可以做:
class2 my_class2(10);
还是我必须再次为其定义构造函数class2
(即使它做的完全一样)?
由于C ++ 11构造函数可以被继承:
class class2 : public class1 {
public:
using class1::class1;
};
否则,您必须执行以下操作:
class class2 : public class1 {
public:
class2(int x): class1(x) {}
};
在构造派生类的对象时,无论如何都必须调用基类的构造函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句