假设我有一个来自软件包的类,因此我没有办法更改设计,其形式如下:
class A
{
public:
A(int degree)
{
...
initialize_points();
...
}
...
private:
...
void initialize_points()
{
int number = 1;
// proceed to do computations using the number specified above
...
}
...
}
我需要的是上课B
类似于类 A
除了 number
之外的所有内容在函数 initialize_points()
中指定。比如说,我希望它是 34 而不是 1。
由于缺乏经验,我不太明白如何派生这样一个类 B
(我应该这样做吗,也许最好将其编写为一个模仿 A
实现的新类?)来自类 A
因为我想要覆盖其行为的函数是 private
基类成员。
谢谢
最佳答案
简短的回答是,这在 C++ 中无法完成。派生类可以重写其基类所做的操作的主要机制是虚函数。除非基类定义了虚函数,否则在派生类中无法执行任何操作来重写它。
关于c++ - 重写派生类中基类私有(private)成员的行为,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32576691/