动态对象数组创建


// 动态构建对象特点:
/****
1、在程序运行过程中创建和释放的变量或对象 位堆对象,分别用new 和 delete 运算符来完成。
2、堆动态对象为生存期可控对象,可以随时delete 释放
3、动态申请对象数组,该对象一定要有默认构造函数 或 构造函数最左形式参数一定要有默认值
***/
#include <iostream>
using namespace std;
class point
{
public :
//动态构建对象数组一定要有默认构造函数,或带默认形参的构造函数
point(){
}
//point(int i=0, int j=0 )
point(int i, int j )
{
x=i ; y=j ;
cout<<"constructor called."<<endl;
}
~point()
{
cout<<"destruct called. "<<endl;
}
int getx()
{
return x;
}
int gety()
{
return y;
}
private:
int x, y;
};
int main()
{
point *PA1, *PA2;
PA1=new point(1,2); // 动态创建对象,调用构造函数,并赋初值1,2
PA2= new point(3,4); // 动态创建对象,调用构造函数,并赋初值3,4
cout<<PA1->getx()<<","<<PA1->gety()<<endl;
cout<< PA2->getx()<<","<<PA2->gety()<<endl;
delete PA1; // 撤消动态对象PA1,自动调用析构函数
delete PA2; // 撤消动态对象PA2,自动调用析构函数
point *PA=new point[2];// 动态创建对象数组,调用构造函数两次,使用参数默认值
cout<<PA[0].getx()<<","<<PA[0].gety()<<endl;
delete[ ] PA; // 撤销对象数组,自动调用析构函数两次
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值