很多学过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语言。
希望上面的能帮助大家。
5039

被折叠的 条评论
为什么被折叠?



