博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 类的对象管理模型初讲
阅读量:4360 次
发布时间:2019-06-07

本文共 1222 字,大约阅读时间需要 4 分钟。

//类的对象管理模型初讲#include
using namespace std;class PointA{private: int x;//占据4个字节大小的内存空间 int y;//占据4个字节大小的内存空间 int z;//占据4个字节大小的内存空间};//总共占据12个字节class PointB{public: PointB(int _x, int _y,int _z){ x = _x; y = _y; z = _z; } void GetX(){ cout << x<< endl; } void GetY(){ cout << y << endl; }private: int x; int y; int z; static int c;};void ProtectA(){ cout << "PointA在内存中的大小是" << sizeof(PointA)<<"个字节" << endl;//打印 12个字节 cout << "PointB在内存中的大小是" << sizeof(PointB) << "个字节" << endl;//打印 12个字节 //运行结果表明 类的静态成员变量,成员函数 不在类中占据内存空间 //本质上,c++编译器对类对象中的成员变量 成员函数 静态成员变量是分开存储的 //非静态成员变量:存储于对象中,与struct变量有相同的内存布局和字节对齐方式 //静态成员变量:存储在全局区 //成员函数(包括静态成员函数):存储在代码区 //C++编译器对普通成员函数的内部处理请看图1 //c++中类其实是C语言中的结构体(存储数据)+全局函数组成的 //c++编译器对类里函数做了特殊处理,每个函数都会隐式传递一个对象指针(本质上就是个结构体指针), //就是通过这个对象指针c++编译器才能找到每个对象里的成员属性 //对于静态成员函数,c++编译器不会为这个函数传递一个对象指针,因为静态成员函数是属于类的}/*总结:1、C++类对象中的成员变量和成员函数是分开存储的。C语言中的内存四区模型仍然有效!2、C++中类的普通成员函数都隐式包含一个指向当前对象的this指针。3、静态成员函数、静态成员变量属于类静态成员函数与普通成员函数的区别静态成员函数不包含指向具体对象的指针普通成员函数包含一个指向具体对象的指针*/void main(){ ProtectA(); system("pause");}

 

转载于:https://www.cnblogs.com/zhanggaofeng/p/5610564.html

你可能感兴趣的文章
unicode ascii 互转 函数 C实现 MultiByteToWideChar/WideCharToMultiByte 详解
查看>>
大三第一学期实验报告
查看>>
mysql远程链接
查看>>
nginx location配置
查看>>
Easy Install详细参数
查看>>
选课系统
查看>>
最简实例演示asp.net5中用户认证和授权(2)
查看>>
ubuntu rhythmbox乱码解决方法
查看>>
LeetCode题解之Univalued Binary Tree
查看>>
线程池学习研究-(自实现)2
查看>>
ubuntu下安装新字体
查看>>
Django连接MySQL数据库
查看>>
漫游Kafka入门篇之简单介绍(1)
查看>>
redis学习之旅-初识Redis
查看>>
WinForm 小程序 NotePad
查看>>
JSTL 核心标签库 使用
查看>>
线程池ThreadPool
查看>>
hibernate入门实例
查看>>
WPF路由事件二:路由事件的三种策略(转)
查看>>
Java中的内存泄露
查看>>