未定义的访问成员变量的访问权限(既不是公共的也不是私有的) 如果C++中的成员变量没有定义访问权限,那么会发生什么?

未定义的访问成员变量的访问权限(既不是公共的也不是私有的) 如果C++中的成员变量没有定义访问权限,那么会发生什么?,c++,class,member,access-specifier,C++,Class,Member,Access Specifier,例如,在以下代码中: class Base { int myQuestion; public: int myPublic; private: int myPrivate; } 谁有权访问我的问题?在类中,它是私有的。在结构中,它是公共的在类中,它是私有的。在struct中,如果使用关键字class,则它是public,access默认为private。如果使用struct,则默认为public 这几乎是两个关键字之间的唯一区别 唯一的区别是继承时,class默认为私

例如,在以下代码中:

class Base {
  int myQuestion;
  public:
    int myPublic;
  private:
    int myPrivate;
}

谁有权访问
我的问题

中,它是
私有的
。在
结构
中,它是
公共的

中,它是
私有的
。在
struct
中,如果使用关键字
class
,则它是
public

,access默认为
private
。如果使用
struct
,则默认为
public

这几乎是两个关键字之间的唯一区别


唯一的区别是继承时,
class
默认为私有继承,
struct
默认为公共继承。

如果使用关键字
class
,access默认为
private
。如果使用
struct
,则默认为
public

这几乎是两个关键字之间的唯一区别


唯一的区别是继承时,
class
默认为私有继承,
struct
为公共继承。

class
中是
private
,在
struct
中默认为
public

class
中是
private
,在
struct
中,默认情况下它是
public

这是唯一的区别。讨论如何使用关键字
class
struct
,以避免传播误解。@king_nak“这是唯一的区别”-您忘记了默认继承中的区别。
class
struct
之间有两个区别;默认访问和默认继承类型。这是唯一的区别。讨论如何使用关键字
class
struct
,以避免传播误解。@king_nak“这是唯一的区别”-您忘记了默认继承中的区别。
class
struct
之间有两个区别;默认访问和默认继承类型。相关:相关: