gpt4 book ai didi

c++ - 类继承/组合的设计

转载 作者:搜寻专家 更新时间:2023-10-31 00:42:31 24 4
gpt4 key购买 nike

我有两个类:一个读者和一个作家。对于这两个类,我都有一个抽象接口(interface),因为数据源/目标应该是灵活的:

class abstract_reader {
...
};

class concrete_reader : public abstract_reader {
DATATYPE m_data;
...
};
class abstract_writer {
...
};

class concrete_writer : public abstract_writer {
DATATYPE m_data;
...
};

writer 应该有读和写两种功能。concrete_writer 的读取部分的实现与concrete_reader 的实现相同。什么是组合这些类的好方法?

最佳答案

你想要的有点困惑,但是有很多方法:

  • 从两个抽象类派生作者
  • 在作者中持有一个指向具体读者的指针
  • 持有作者中具体读者的实例
  • 从 writer 中删除读取功能,并创建一个既可以读取又可以写入的第三个类。

就我个人而言,我会遵循最后一种方式,然后你将拥有一整套只读、只写和两者兼而有之的类。

关于c++ - 类继承/组合的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11953729/

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