C++学习笔记 this指针,对象数组,对象指针数组;

一,this指针

this指针不是对象的一部分,this指针所占的内存大小是不会反应在sizeof操作符上的,this指针的类型取决与使用this指针的成员函数类型以及对象类型

也是一个const指针,它的值是不能被修改的,它指向当前对象,通过它可以访问当前对象的所有成员;

this只能用在类的内部,但只有在对象被创建以后才会给this赋值,并且这个赋值的过程是编译器自动完成的,用户不能显式赋值。

通过this可以访问类的所有成员,包括private,protected,public属性的。this是一个指针,要用->来来访问成员变量或成员函数

this到底是什么?this实际上成员函数的一个形参,在调用成员函数时将对象的地址作为实参传递给this,不过this这个形参时隐式的,它并不出现在代码中,而是在编译阶段由编译器默认地将它添加到参数列表中。同时成员函数和成员变量关联的桥梁。

注意:友元函数没有this指针,因为友元不是类的成员,只有成员函数才有this指针;静态成员函数没有this指针。

二,对象数组

 1 class M
 2 {
 3 public:
 4     M(int i,int j)
 5     {
 6         m = i; n = j; cout << "Constructor Called!" << endl;
 7     }
 8     M() { m = n = 0; cout << "Default Constructor Called!" << endl; }
 9     
10     ~M() { cout << "Destructor Called!" << m << "," << n << endl; }
11     int Getm() { return m; }
12     int Getn() { return n; }
13 
14 private:
15     int m, n;
16 };
17 M mm1[2]; 
22 int main() {
23     M mm2[4] = { M(2,3),M(5,6),M(7,8),M(2,5) };
24     M a = M(10, 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值