您的位置:首页 > 编程语言 > C语言/C++

C++ class和struct的区别

2017-07-17 18:28 267 查看
class 和 struct的一个区别就是对默认的继承访问权限不同

class的默认访问属性是私有的(private),而struct的默认访问属性是公共的(public)

用class定义类:

class A{
int i;
};

这与下面代码等价:

class A{
private:
int i;
};


而用struct定义类:

struct A{
int i;
}

这样下面代码等价:

struct A{
public:
int i;
};


因此我们可以得知:

struct A
{
int a;
};
struct B : A
{
int b;
};  //这里的 B 是以public的方式继承 A 的。


class A
{
int a;
};
class B : A
{
int b;
};  //这里的 B 是以private的方式继承 A 的,这也就是默认的继承访问权限。


因此,在写类继承的时候,我们通常这样写:

class B : public A


目的是为了指明是public继承,而不是用默认的private继承。

默认的继承方式取决于子类而不是基类,例如:

struct A{};
class B : A{};  // private 继承
struct C : B{}; // public 继承
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: