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语言。
希望上面的能帮助大家。
①在他们的定义的类中默认的访问级别不同,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语言。
希望上面的能帮助大家。
相关文章推荐
- 【C++程序设计常见面试题】class 和 struct 的区别?(00)
- c++中struct和class的区别
- C++中结构体与类的区别(struct与class的区别)
- 在c++中struct和class的区别
- C++中struct与Class的的区别
- C++中结构体与类的区别(struct与class的区别)
- C++中struct和class定义类区别
- 在c++中struct和class的区别
- C++中class和struct的区别
- C++ class和struct的区别
- 探索C++对象模型之struct和class区别
- C++中struct和class的区别
- C++中结构体与类的区别(struct与class的区别)
- C++中结构体与类的区别(struct与class的区别)
- C++中struct和class的区别
- C++中struct和class的区别
- C++ struct class的区别
- C++中Struct与Class的区别
- C++中struct和class的区别
- 基本问题——C++中struct和class的区别