C++中class与struct的区别(struct的类型名同时可以作为变量名)

原文地址:http://www.cnblogs.com/albert1017/p/3897739.html

通常我们知道的区别:


(一)默认继承权限。如果不明确指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理;


(二)成员的默认访问权限。class的成员默认是private权限,struct默认是public权限。


  除了这两点,class和struct基本就是一个东西。语法上没有任何其它区别。


 


昨天发现一个不知道算不算是区别的东西:


struct的类型名同时可以作为变量名,显然class是不可以的,也可以理解,因为class各类型变量定义时直接是类名,而struct的是struct+结构体名来定义变量的。


示例如下:


复制代码
#include<iostream>

using namespace std;


struct tt{
int a;
int b;
};


int main(){
    struct tt tt;
    tt.a=13;
    tt.b=43;
    cout<<tt.b<<endl;
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值