[英]Can you call a constructor for a base class to create a derived object?
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) {}
};
在構造派生類的對象時,無論如何都必須調用基類的構造函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.