C++ 讲解:类结构
2016-01-11 22:37
429 查看
类是什么结构?
一个类如果没有数据成员,那这个类创建后的大小为1 字节,这1 字节是这个类的标记。如果有成员,则另行计算。
code
AA 的对象aa 的大小为 1 字节,因为它没有任何数据成员,所以就有1 字节作为标记。BB 的对象bb 有两个int 类型数据成员,int 类型大小4 字节,所以BB 对象大小就是8 字节。
bbp 指针为bb 对象的指针,通过获取指针值得到数据成员a 的值。
++bbp 后的指针指向成员函数b 的值。
#include <iostream> using namespace std; class AA{ public: void say(){cout << "B" << endl;} }; class BB{ public: BB(int a,int b) { this->a = a; this->b = b; } void say(){cout << "A" << endl;} int a; int b; }; int main() { AA aa; cout << sizeof aa << endl; // 1 BB bb(111,222); cout << sizeof bb << endl;// 8 int *bbp = (int *)&bb; cout << *bbp << endl;//111 cout << *(++bbp) << endl;//222 return 0; }
相关文章推荐
- c++ g++运行出现Enable multithreading to use std::thread: Operation not permitted解决
- C++刷新缓冲区
- 深入C++的new
- C++ 讲解:多态
- C++中预处理(条件编译)
- C++开发人脸性别识别教程(9)——搭建MFC框架之显示图片
- 重学C++ (三) 表达式
- C/C++基础试题 测试
- C++中预处理(文件包含include)
- [转]C++中关于new和delete的使用
- 三角形面积计算器--C语言
- C++中宏的定义与用法(现已被内联函数所代替)
- C++中宏和函数的区别
- 【银行家算法】操作系统课程设计
- C++中vector向量的用法(自整)
- C++中四种类型转换方式
- C++中预处理(宏详解)
- bind--C++11
- 柔性数组
- sort函数的用法(C++排序库函数的调用)