c++ - 如何创建可以在 C++ 中分配任何类型的对象

标签 c++

我有这样一个类定义:

class Paint{
 AnyType* Color;
};

我想做的是创建一个类(AnyType),其对象可以分配给任何类类型的任何对象。像这样:

class Blue{}; 
class Green {};`

Paint MyPaint;
MyPaint.Color = new Green();
// color gets changed
MyPaint.Color = new Blue();

如何声明 AnyType?

Class AnyType{
//class definition
};

最佳答案

class Paint{
 BaseColor* Color;
};

class BaseColor {}

class Blue : BaseColor {}; 
class Green : BaseColor {};`

Paint MyPaint;
MyPaint.Color = new Green();
// color gets changed
MyPaint.Color = new Blue();

关于c++ - 如何创建可以在 C++ 中分配任何类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342498/

相关文章:

c++ - 对于普通优先级进程,我可以将单个线程的优先级设置为 15 以上吗?

c++ - 如何强制 ld 使用静态库而不是共享库?

android - 如果 Qt3DWindow 嵌入到 QWidget 中,为什么 Qt3D QObjectPicker 无法在 Android 上工作?

c++ - C++ 和 gcc 中的线程局部静态

c++ - 将 .ui 文件链接到 C++

c++ - 如何使用 msgfmt 验证格式字符串中的位置符号占位符?

c++ - fork execlp 调用中的子超时

c++ - 运算符 == 不存在于 std::vector 中?

c++ - 由2个SQL连接创建的死锁,每个使用事务,不同的表,两个表之间的外键约束

c++ - 如何重置 shared_ptr?