C++结构体

对于C++中的类,结构体,共用体等具有成员函数或变量的数据类型(对象)时,如果存在对象a,而对象中有成员b,那么可以使用a.b的方式,使用对应的成员。如果存在变量p,指向a, 即p = &a, 这时可以用p->b来使用成员b。即,->操作符是用于带成员的类型对应指针上,用来提取成员变量或函数用的。p->b等同于(*p).b。对于任意的对象a,写作(&a)->b也是可以的,不过很少有这样写。

在C++中,结构体与类相似,所以存在构造函数和析函数,同时也能在结构体里定义函数,这种写法在C语言里是不允许的。

但是C++里结构体与类是还有区别的:

1、结构的构造函数和类的构造函数不同。
   a.结构不能包含显式的无参数构造函数。结构成员讲自动初始化为它们的默认值。
  b.结构不能包含以下形式的初始值设定类:base(argument-list);
2、对于结构中的实例字段成员,不能在声明时赋值初始化。
3、声明了结构类型后,可以使用new运算符创建构造对象,也可以不使用new,如果不使用new,那么在初始化所有字段之前,字段将保持未赋值状态且对象不可用。
4、结构不支持继承,即一个结构不能从另一个结构或类继承,而且不能作为一个类的基类。但是,结构从基类OBJECT继承。结构也可以实现接口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值