gpt4 book ai didi

c++ - 在派生类中覆盖基类私有(private)成员的行为,C++

转载 作者:行者123 更新时间:2023-11-30 05:38:50 25 4
gpt4 key购买 nike

假设我有一个来自软件包的类,所以我没有办法更改设计,它具有以下形式:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com