C++中class和struct的区别
来源:互联网 发布:大数据 融资租赁 编辑:程序博客网 时间:2024/06/06 01:47
在VC++中,对于类的定义,class和struct有一定的区别
通常来讲:
1.默认的继承权限区别:这里的默认指的是不做特殊说明的情况下,即直接用class和struct来定义一个类,此时,对于class,按照private来继承,对于struct,按照public继承
2.成员默认访问权限:跟1差不多,class是private权限,struct是public
基本除了以上两点,class和struck没什么区别,就是一个东西
最新发现一个第三点区别
3.struct的类型名同时可以作为变量名,显然class是不可以的,也可以理解,因为class各类型变量定义时直接是类名,而struct的是struct+结构体名来定义变量的。
例如:
#include<iostream>using namespace std;struct hassan{int a;int b;};int main(){ struct hassan hassan; hassan.a=99; hassan.b=100; cout<<hassan.b<<hassan.a; return 0;}
最近写代码还遇到一个问题,就是用struct定义的时候,
出现了如图的error,原因是:在这一行代码中,定义了int的Buff重名变量,
重新用Buff buff=0;依旧会报错。
阅读全文