Bra*_*rad 9 c++ class derived-class
假设我有一个基类:
class baseClass
{
public:
baseClass() { };
};
Run Code Online (Sandbox Code Playgroud)
派生类:
class derClass : public baseClass
{
public:
derClass() { };
};
Run Code Online (Sandbox Code Playgroud)
当我创建一个被调用derClass的构造函数的实例时 baseClass.我怎么能阻止这个?
Ale*_*tov 16
做额外的空ctor.
struct noprapere_tag {};
class baseClass
{
public:
baseClass() : x (5), y(6) { };
baseClass(noprapere_tag) { }; // nothing to do
protected:
int x;
int y;
};
class derClass : public baseClass
{
public:
derClass() : baseClass (noprapere_tag) { };
};
Run Code Online (Sandbox Code Playgroud)
基类实例是任何派生类实例的组成部分。如果成功构造了派生类实例,则必须-根据定义-构造所有基类和成员对象,否则派生对象的构造将失败。构造基类实例涉及调用其构造函数之一。
这是继承在C ++中如何工作的基础。
| 归档时间: |
|
| 查看次数: |
10666 次 |
| 最近记录: |