gpt4 book ai didi

c++ - 初始化一个抽象类?

转载 作者:太空狗 更新时间:2023-10-29 20:48:04 25 4
gpt4 key购买 nike

这是我的问题。我想要这样的东西:

class A {
protected:
int someInt;
virtual void someFunc() = 0;

};

class B : public A {
protected:
virtual void someFunc() { // uses someInt}
public:
B() {//tell the A inside of B to set someInt to whatever it wants}
};

所以基本上,someInt 可以更改,它不是常量,但我希望所有实现 A 的类都使用 A 为 someInt 提供的值。

谢谢

最佳答案

您可以在构造函数中使用初始化列表来调用父构造函数:

class A {
protected:
int someInt;
virtual void someFunc() = 0;
A(int x) : someInt(x) {} // Base-class constructor (initialises someInt)
};

class B : public A {
protected:
virtual void someFunc() {}
public:
B() : A(10) {} // Initialises base class via constructor
};

关于c++ - 初始化一个抽象类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4113815/

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