C++ 使用静态数组重写指针属性
这是我的密码。我想知道如何在父类C++ 使用静态数组重写指针属性,c++,oop,c++11,c-strings,C++,Oop,C++11,C Strings,这是我的密码。我想知道如何在父类chlnglck中提到ress属性 有没有办法或者不知道我必须在子类中使用固定大小的数组? 编辑:我的意思是:我最终可以在父对象中声明一个指针,通过子对象中的固定大小数组覆盖它。(似乎不太可能,但不得不问一下作为最终的线索) 请不要使用std::string。您可以使用模板解决此问题: typedef struct chlnglck{ friend struct chlnglck_8; friend struct chlnglck_10;
chlnglck
中提到ress
属性
有没有办法或者不知道我必须在子类中使用固定大小的数组?
编辑:我的意思是:我最终可以在父对象中声明一个指针,通过子对象中的固定大小数组覆盖它。(似乎不太可能,但不得不问一下作为最终的线索)
请不要使用
std::string
。您可以使用模板解决此问题:
typedef struct chlnglck{
friend struct chlnglck_8;
friend struct chlnglck_10;
friend struct chlnglck_12;
chlng nb;
uint64_t wt;
}chlnglck;
struct chlnglck_8 : chlnglck{
char ress[255];
chlnglck_8();
};
struct chlnglck_10 : chlnglck{
char ress[1024];
chlnglck_10();
};
模板
结构chlnglck
{
chlnb;
uint64_t wt;
阵列ress;
};
结构chlnglck_8:chlnglck{};
结构chlnglck_10:chlnglck{};
您或许可以使用模板解决此问题:
typedef struct chlnglck{
friend struct chlnglck_8;
friend struct chlnglck_10;
friend struct chlnglck_12;
chlng nb;
uint64_t wt;
}chlnglck;
struct chlnglck_8 : chlnglck{
char ress[255];
chlnglck_8();
};
struct chlnglck_10 : chlnglck{
char ress[1024];
chlnglck_10();
};
模板
结构chlnglck
{
chlnb;
uint64_t wt;
阵列ress;
};
结构chlnglck_8:chlnglck{};
结构chlnglck_10:chlnglck{};
无法“重写”成员变量。顺便说一下,构造函数的名称必须与结构相同(例如chlnglck_8();
)如何“提及”?你是说继承它吗?我一点也不懂你最后的第二句话。请你详细解释一下好吗?请不要std::字符串我不明白你为什么认为std::string
与你的问题有任何关系。解释你想要什么的最好方法是展示一段代码,演示你想如何使用它。没有办法“重写”成员变量。顺便说一句,构造函数的名称必须与结构相同(例如,chlnglck_8();
)如何“提及”?你的意思是继承它吗?我一点也不理解你最后的第二句话。请你解释得更透彻一点好吗?请不要std::string。--我不明白你为什么认为std::string
与你的问题有任何关系。解释你想要什么的最好方法是展示一段代码,演示我想了一会儿这个解决方案,但是它看起来不太好,很野蛮(但是,这不是我以前用过的最野蛮的东西)。但是,我喜欢它非常静态。但是我会用另一个。非常感谢。我想了一会儿这个解决方案,但是它看起来很不好,很野蛮(不过,这不是我以前用过的最野蛮的东西)。不过,我喜欢它非常静态。不过我会用另一个。非常感谢。
typedef struct chlnglck{
friend struct chlnglck_8;
friend struct chlnglck_10;
friend struct chlnglck_12;
uint64_t wt;
char *ress;
}chlnglck;
struct chlnglck_8 : chlnglck{
chlnglck_8(){
ress = new char[255];
}
~chlnglck_8(){
delete []ress;
}
};
struct chlnglck_10 : chlnglck{
chlnglck_10(){
ress = new char[1024];
}
~chlnglck_10(){
delete []ress;
}
};