一直对内存地址的分配有些疑惑,故做实验研究一下:
先定义一个Struct,里面包含一个enum,一个short,一个char*存放字符串,一个short*存放short数组。
typedef struct MyStruct
{
enum MyEnum {
enum1, enum2, enum3, enum4
};
short short1;
char * char1;
short * arrshort;
}*PtrMyStruct;
之后定义一个类,里面的private成员变量定义该struct,并加入两个简单的方法永远设置和相关显示:
class myClass
{
private:
MyStruct mystruct;
public:
myClass();
~myClass();
void setMyStruct();
void showStructInfo();
};
实现具体函数
void myClass::setMyStruct()
{
PtrMyStruct ptrmystruct = &mystruct;
ptrmystruct->char1 = "hello,this is test";
ptrmystruct->short1 = 125;
ptrmystruct->arrshort = new short[4]{4, 32, 21, 57};
};
void myClass::showStructInfo()
{
PtrMyStruct ptrmystruct = &mystruct;
cout <&