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

C++中struct 和 class 的区别

2009-04-18 12:48 549 查看
很多学过C语言的朋友转而去学C++的时候,往往对struct 和class很迷糊。总觉的它们之间有很大的区别。其实不然,struct和class只在两个方面有区别,除外他们是不任何区别的,这两个区别是:

①在他们的定义的类中默认的访问级别不同,struct默认的为public ,class 默认的为private。

如:

struct A{

int a;

....

};

int main()

{

A rh;

cout << rh.a;//ok.a is public

return 0;

}

class B{

int b;

......

};

int main()

{

B rh;

cout << rh.b;//error, b is private

}

②他们的默认继承级别不同,使用class的默认继承级别为private,如:

class base{/*.........*/};

class A:base{/*.........*/};

上面一行等价于

class A:private base{/*.........*/};

使用struct的默认继承级别public,如:

struct base{/*........*/};

struct A:base{/*.........*/};

上面一行等价于:

struct A:public base{/*...........*/};

除了上面两点外在c++中struct 和 class 无任何区别。之所以c++中还存在struct 只是为了兼容c语言。

希望上面的能帮助大家。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: