gpt4 book ai didi

c++ - 确保派生类具有适当类型的属性

转载 作者:行者123 更新时间:2023-11-28 01:38:33 26 4
gpt4 key购买 nike

我有一个抽象基类(其中只有数据成员和纯虚函数),例如“Plotter”类。

我有两个计划派生的实现,“NumberPlotter”和“WordPlotter”,除了 NumberPlotter 有一个名为“processor”的成员变量,它是“NumberProcessor”类型,而 WordPlotter 有一个名为“processor”的成员变量,类型为“WordProcessor”。这两个 *Processor 类都是抽象基类“Processor”的实现。

有没有办法确保 *Plotter 类有一个名为“processor”的成员变量,在编译时通过它们的抽象基类具有 *Processor 的某种实现类型?我不能声明 Plotter 类有一个 Processor 类型的变量,因为 Processor 只有纯虚函数(它是一个抽象类型)。

Processor 实现有一些相同的成员变量,因此我希望能够在以 Plotter->Processor-> 或什至 Plotter->Processor- 的形式使用基本 Plotter 类时做出一些基本假设>进程()。

最佳答案

您这样做的方法是定义一个抽象函数,例如:

WordProcessor &getProcessor () = 0 ;

你不能真正强制一个子类有一个成员变量,但你可以强制它有一个依赖于这样一个成员变量的成员函数。

关于c++ - 确保派生类具有适当类型的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48293630/

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