c++ beginning(3)

动态对象:动态对象是指编程者随时动态建立并可随时消失的对象。

对象指针=new 类名(初值标);

对象指针的类型与类名一致,动态对象储存在new语句从堆申请的空间中,建立动态对象时要调用构造函数,蛋初值标缺省的时候调用默认的构造函数,exp:

Clock *Cp;

Cp=new Clock;

Cp->ShowTime();

Cp=new Clock(8,0,0);

Cp->ShowTime();

在堆中建立的动态对象不能自动消失,需要使用delete语句删除对象,格式为:

delete 对象指针;

在删除动态对象时,释放堆中的内存空间,在对象消失时,调用析构函数。例如:

delete Cp;

动态对象的一个重要的使用方面是用动态对象组成动态对象数组,建立一个一维动态对象数组的格式为:

对象指针=new 类名[数组大小];

删除一个动态对象数组的格式为:

delete[] 对象指针;

一下是对比:

Score ClassScore[3];

Score ClassScore[3]={Score(222,"tom",80,90),Score(125,"johe",80,90),Score(221,"wilson",56,67)};

//用动态数组实现:

Score *ClassScore;

ClassScore new Score[3];

ClassScore[0].SetScore(0000,"fasd",80,90);

ClassScore[1].SetScore(1222,"fafasd",67,56);

this 指针 :

一个类的成员函数中,有时希望引用调用它的对象,对此,c++采用隐含的this 指针来实现,this指针是一个系统预定的特殊指针,指向当前对象,表示当前对象的地址;

exp:

void Clock::SetTime(int h, int m, int s)

{

H=h,M=m,S=s;

this->H=h,this->M=m,this->S=s;

(*this).H=h,(*this).M=m,(*this).S=s;

}  这三句是等效的

组合对象:

一个含有其他类的类称为组合类,组合类的对象称为组合对象

组合类的定义:先定义成员类,在定义组合类

exp:

 

 时分秒值,H, M, S,是Clock类私有成员,在Clock类外无法存取,而在TrainTrip类中需要他们的值,因此在Clock类中提供了一个公有的存取HMS值的接口函数GetH(),GetM(),GetS()供TrainTrip类读取H,M,S、旅行时间的结果是一个时间,因此函数TripTime()返回值设置成Clock类型

TrainTrip是组合类,为了给各个成员提供初值,建立了两个Clock对象,C1,C2,并设计了一个构造函数TrainTrip,将C1C2的值赋给组合类的成员对象

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值