Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么我在p->;上出现错误;伯爵?应插入值_C++ - Fatal编程技术网

C++ 为什么我在p->;上出现错误;伯爵?应插入值

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的

继承类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的结构:

struct a {
   int count;
};

对类b执行相同操作。

a
b
只有
private
成员。假设b类有公共成员,那么我可以在p->value中插入值吗?如果您希望能够从继承层次结构外部访问
value
,您需要将其设置为
public
。但是value是指针变量,但是value是指针变量,具有指向对象的指针对public/private/protected没有影响。或者使用
struct
而不是
class
好点!我将修改我的答案,同意你的建议,认为这是最简单和最合适的解决办法。