类,对象,成员函数使用实质

class CTest

{
 public:
	Ctest(){}
	~CTest(){}
	static int GetAAA()
	{
		return AAA;
	}
	int GetB()
	{
		return b;
	}
	int GetSum()
	{
		return a + b + AAA;
	}
 public:
 	int a;
	int b;
	static int AAA;
}
int CTest::AAA = 10;
(1)我们定义好一个类后,编译后在可执行文件里只有代码(各成员函数的二进制代码)和全局数据和常量等,并没有任何对象。

(2)对象只有数据,包括成员变量和VPTR,new的实质是先调用malloc分配一块堆内存,然后把这块内存的地址(this)传给构造函数,用构造函数来对这块内存进行赋值。

(3)函数调用:对象.function(this,...),对象把自己的地址(this)作为隐含形参传过去,以便操作自己的数据。

(4)类的成员函数与全局函数的区别:在调用上的意义基本没区别,区别仅仅是成员函数在类的作用域内,避免冲突等


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值