请看这段代码。它只是反映了我想做的基本概念:
#include <iostream>
using namespace std;
class Base
{
public:
Base()
{
/* Some code I want to reuse */
Redefined();
}
virtual ~Base() {}
void Redefined() { val = 10; }
int val;
};
class Derived : public Base
{
public:
Derived() : Base() {}
~Derived() {}
void Redefined() { val = 25; }
};
int main()
{
Base* check = new Derived();
cout << check->val << endl;
system("pause");
return 0;
}
我希望对象的val
属性check
是 25 而不是 10。
如您所见,我有两个课程。Base
类构造函数具有一些复杂的功能,我希望Derived
类也具有它的构造函数。如何更改派生函数Redefined
,以便不必Derived
完全重写构造函数(实际上只是复制粘贴整个基类构造函数代码并替换一行代码 -Redefined
函数的更新版本)?