gpt4 book ai didi

C++在虚方法中访问公共(public)变量

转载 作者:行者123 更新时间:2023-11-30 04:24:33 25 4
gpt4 key购买 nike

在 C++ 中我有一个抽象类 A:

 class A
{
public:
A(){}
virtual ~A(){}
virtual void out(std::ofstream& outFile) = 0;
virtual void in(std::ifstream& inFile) = 0;
};

还有我想在其中使用虚方法的 B 类:

class B : public A
{
public:
B();
double angle;
int index;


virtual void out(std::ofstream& outFile);
virtual void in(std::ifstream& inFile);

};

现在有一个问题:我想在虚方法中使用 B 类变量,如 (int index):

virtual void out(std::ofstrea& outFile)
{
outFile<< index << angle;
}

这里我得到编译器错误,角度和索引未在此范围内声明。这有点合乎逻辑,因为这个变量没有在类 A 中声明。现在如何在虚拟方法中访问可变角度和索引?

感谢您的帮助。

最佳答案

如果您在类外实现该方法,则不要将其标记为 virtual 并限定其名称:

void B::out(std::ofstrea& outFile)
{
outFile<< index << angle;
}

关于C++在虚方法中访问公共(public)变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12661667/

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