C++ 为什么我在p->;上出现错误;伯爵?应插入值
继承类c中的两个类,并使用c类指针访问类a成员C++ 为什么我在p->;上出现错误;伯爵?应插入值,c++,C++,继承类c中的两个类,并使用c类指针访问类a成员 class a { int count; }; class b{ int* value; }; class c : public a, public b { }; int main() { c* p = new c; p->count = 0; return 0; } 类的默认访问级别是私有的。将其更改为公共: class a { public: int count; }; 或者将其更改为默认访问级别为public的
class a { int count; };
class b{ int* value; };
class c : public a, public b { };
int main() {
c* p = new c; p->count = 0; return 0;
}
类的默认访问级别是私有的。将其更改为公共:
class a {
public:
int count;
};
或者将其更改为默认访问级别为public的结构:
struct a {
int count;
};
对类b执行相同操作。
a
和b
只有private
成员。假设b类有公共成员,那么我可以在p->value中插入值吗?如果您希望能够从继承层次结构外部访问value
,您需要将其设置为public
。但是value是指针变量,但是value是指针变量,具有指向对象的指针对public/private/protected没有影响。或者使用struct
而不是class
好点!我将修改我的答案,同意你的建议,认为这是最简单和最合适的解决办法。