class base
{
base () { }
virtual ~base () { }
}
class middleBase
{
middleBase () { }
middleBase (int param) { }
~middleBase () { }
}
class concrete : public middleBase
{
concrete () { }
concrete (int param) { // process }
~concrete () { // delete something }
}
Run Code Online (Sandbox Code Playgroud)
错误是:未完成对"middleBase :: middleBase(int param)"的引用
这适用于参数化构造函数的最佳实践吗?
class base
{
public: // constructor should be accessible by derived class
base () { }
virtual ~base () { }
}; // add semicolon
class middleBase : public base // you missed the declaration
{
public:
middleBase () { }
middleBase (int param) { }
virtual ~middleBase () { }
};
class concrete : public middleBase
{
public:
concrete () { }
concrete (int param) : middleBase(param) { /* process */ }
virtual ~concrete () { /* delete something */ }
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
302 次 |
| 最近记录: |