关于struct和class的区别
2013-03-27 14:53
218 查看
struct和class的区别在C++中的区别比较小,两者都可以用来定义类,进行方法和运算符重载,
他们的区别在于默认的访问级别,struct在没有声明访问修饰符的时候默认是public,而class为private
代码:
以上代码class C是不能被实例化的,因为构造函数为private
需要说明的是,struct是能够被继承的,只是默认继承的修饰符不一样,struct为public继承,而class为private继承
struct S{
S() : m_a(0){}
int m_a;
};
struct D : S{};
class C : S{};
int temp;
D d;
C c;
temp = d.m_a;
temp = c.m_a;//error
他们的区别在于默认的访问级别,struct在没有声明访问修饰符的时候默认是public,而class为private
代码:
struct S{ S() : m_a(0){} int m_a; }; class C{ C() : m_a(0){} int m_a; }; S s; printf("s.m_a = %d", s.m_a); C c;//error!printf("c.m_a = %d", c.m_a);//error!
以上代码class C是不能被实例化的,因为构造函数为private
需要说明的是,struct是能够被继承的,只是默认继承的修饰符不一样,struct为public继承,而class为private继承
struct S{
S() : m_a(0){}
int m_a;
};
struct D : S{};
class C : S{};
int temp;
D d;
C c;
temp = d.m_a;
temp = c.m_a;//error
相关文章推荐
- 关于C_C++中struct与class的区别
- Thinking in C++: C++中关于union、struct、class的区别
- 一边走路一边学习 关于struct和class的区别等几个知识点总结
- 关于C++ 里struct 和 class的区别
- 关于c++的struct与class区别
- 关于 C# 中 Struct 和 C++/Cli 中 value class 的 new 和 gcnew 的区别
- c++中关于类(class)和结构体(struct)的区别个人总结
- 关于Struct 与 Class的区别(class 定义对象时候不能赋初值的方法何原因)
- C++中结构体与类的区别(struct与class的区别)
- struct与class区别
- C#中class与struct的区别
- C#中class与struct的区别
- struct和class的区别(转)
- C++中struct 和 class 的区别
- C++ struct class的区别
- [导入]Struct 和Class的区别,在C#中
- struct和class的区别
- c++的struct和class的区别
- C++:struct与class的区别
- (转) C#中struct和class的区别