C++结构体
来源:互联网 发布:mac怎么关闭窗口 编辑:程序博客网 时间:2024/06/10 00:41
对于C++中的类,结构体,共用体等具有成员函数或变量的数据类型(对象)时,如果存在对象a,而对象中有成员b,那么可以使用a.b的方式,使用对应的成员。如果存在变量p,指向a, 即p = &a, 这时可以用p->b来使用成员b。即,->操作符是用于带成员的类型对应指针上,用来提取成员变量或函数用的。p->b等同于(*p).b。对于任意的对象a,写作(&a)->b也是可以的,不过很少有这样写。
在C++中,结构体与类相似,所以存在构造函数和析函数,同时也能在结构体里定义函数,这种写法在C语言里是不允许的。
但是C++里结构体与类是还有区别的:
a.结构不能包含显式的无参数构造函数。结构成员讲自动初始化为它们的默认值。
b.结构不能包含以下形式的初始值设定类:base(argument-list);
2、对于结构中的实例字段成员,不能在声明时赋值初始化。
3、声明了结构类型后,可以使用new运算符创建构造对象,也可以不使用new,如果不使用new,那么在初始化所有字段之前,字段将保持未赋值状态且对象不可用。
4、结构不支持继承,即一个结构不能从另一个结构或类继承,而且不能作为一个类的基类。但是,结构从基类OBJECT继承。结构也可以实现接口。
阅读全文
0 0
- 结构体 (C/C++)
- C/C++:结构体指针
- (C/C++)struct结构体
- [C学习]结构体
- C中的结构体
- C语言结构体
- C语言:结构体
- FILE结构体(C)
- C语言:结构体
- C 结构体
- c 结构体初始化
- C初学->结构体
- c的结构体
- C结构体对齐
- C/C++ 结构体!
- c结构体初始化
- c 结构体初始化
- C语言--结构体
- static关键字所导致的内存泄漏问题
- 使用Mysql Merge存储引擎实现分表
- centos 6.4 安装mysql 5.6
- JAVA开源B2C系统
- EffectiveJava 学习记录 一
- C++结构体
- Bzoj1455 罗马游戏
- 清除浮动的原理和方法
- SOCKS5代理原理探索
- 数据获取vue+ssm框架
- JQuery里的原型prototype分析
- 安装mysql python接口找不到Python2.7
- Mac下 Gradle4.0 详细安装攻略
- 设计模式之装饰模式