【发布时间】:2020-09-06 13:01:24
【问题描述】:
是否可以将未知结构分配给 c++ 中的类?可能是虚拟功能之类的东西?或者分配一个指向结构的指针?该结构将在构造时分配,然后永远不会改变。
class Class{
void someFunction(){
//do something with the struct
};
struct unknownStruct;
};
struct Struct1{
int value1;
} struct1;
struct Struct2{
int value2;
int value3;
} struct2;
int main()
{
Class object1;
Class object2;
object1.struct=struct1;
object2.struct=struct2;
return 0;
}
【问题讨论】:
-
您能否创建一个指向
base class的指针来代替您的“unknownStruct”,然后将每个对象的unknownStruct分配给您想要的任何派生类的任何对象?其他选择是将void*放在那个地方并存储您想要的任何内容,但是您必须一直担心类型转换。 -
结构也是类。
struct和class只是声明一个类的两个关键字。唯一的区别是默认访问权限