对象数组与指针小结

本文总结了C++中的对象数组与对象指针的相关知识。对象数组的每个元素都是同类对象,构造函数参数个数需匹配初始化列表。同时探讨了对象指针的概念,如何定义指向对象和对象成员的指针变量,并给出了示例。此外,还介绍了this指针的用途,它是指向当前成员函数所在对象的指针。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对象数组的每一个元素都是同类的对象

  • 如果构造函数只有一个参数,在定义数组时可以直接在等号后面的花括号内提供实参
Student stud[3]={607080}
  • 在定义数组时提供的实参个数不能超过数组元素
  • 如果构造函数有多个参数,应当在花括号中分别写出构造函数名并在括号内指定实参
    例:
Student Stud[3]
{
	Student(1001,18,87);
	Student(1002,19,76);
	Student(1003,18,72);
};

对象指针
在建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其数据成员。对象空间的起始地址就是对象的指针,可以定义一个指针变量用来存放对象的地址。
一般形式:
类名 * 对象指针名

Time *pt;//定义pt为指向Time类对象的指针变量
Time t1;//定义t1为Time类对象
pt=&t1;//将t1的起始地址赋给pt
*pt//pt所指向的对象,即t1
(*pt).hour//pt所指向的对象中的hour成员,即t1.hour
pt->hour//pt所指向的对象中的hour成员,即t1.hour*pt).get_time()//调用pt所指向的对象中的get_time函数,即t1.get_time
pt->get.time()//调用pt所指向的对象中的get_time函数,即t1.get_time
  • 对象有地址,存放对象的起始地址的指针就是指向对象的指针变量
    对象中的成员也有地址,存放对象成员地址的指针变量就是指向对象成员的指针变量

定义指向对象数据成员的指针变量的一般形式为:
数据类型名 * 指针变量名
定义指向公用成员函数的指针变量的一般形式为:
*数据类型名(类名::指针变量名)(参数表列);
例:

p2=&Time::get_time;

使指针指向一个公用成员函数的一般形式是:
指针变量名=&类名::成员函数名;

this指针,是指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址,this指针在需要时也可以显式使用

return(height*width*length);//隐含使用this指针
return(this->height*this->width*this->length);//显式使用this指针
  • 可以用this表示被调用的成员函数所在的对象,它就是this所指向的对象,即当前的对象,例如在成员函数a.volume()(假设已经定义)的函数体中,若出现this,它就是本对象a
    则上面的return语句可以改写为:
reutn((*this).height*(*this).width*(*this).length);

注意*this两边的括号不能省略,因为成员运算符“.“的优先级要高于指针运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值