gpt4 book ai didi

c++ - 必须设置变量的纯虚函数

转载 作者:行者123 更新时间:2023-11-30 01:45:15 25 4
gpt4 key购买 nike

最近我读了一些关于 C++ 中纯虚函数概念的文章,我想知道,给定以下代码:

class First
{
public:
virtual void init() = 0;
protected:
bool initialized;
};

class Second : public First
{
public:
void init() { ((*someting*) ? (initialized=true) : (initialized=false));
};

如果 First 类的创建者想要确保 init() 的实现必须将 initialized 变量设置为 true 或 false 他们怎么办那?是否有一个选项可以强制执行纯虚函数来设置从基类继承的任何变量?

最佳答案

您可以使 init protected 并让它返回 bool。然后有一个新的 initialize 方法,它是公共(public)的并且还设置了 initialized 成员。

由于 init 现在有一个返回值,它必须由任何实现派生类的人设置。

class First
{
public:
void initialize() { initialized = init(); }

protected:
virtual bool init() = 0;
bool initialized;
};

class Second : public First
{
public:
bool init() { return (*something*); }
};

关于c++ - 必须设置变量的纯虚函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34894570/

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