对象数组

知识点1.对象数组的初始化

#include<iostream>
using namespace std;
class Point{
	int x,y;
public:
	Point();//无参构造函数
	Point(int);//带一个参的构造函数
	Point(int,int);//带两个参的构造函数
	void Print();
};
Point::Point(){
	x=0;
	y=0;
}
Point::Point(int xi,int yi){
	x=xi;
	y=yi;
}
Point::Point(int zi){
	x=zi;
	y=zi;
}
void Point::Print(){
	cout<<"("<<x<<","<<y<<")";
}
int main(){
	Point p1[4];//调用四次无参构造函数生成对象p1[0],p1[1],p1[2],p1[3];
	Point p2[4]={5,6,7,8};//调用四次带一个参的构造函数生成对象p2[0],p2[1],p2[2],p2[3];
	//也可以写成Point p2[4]={Point(5),Point(6),Point(7),Point(8)};
	Point p3[4]={Point(9,10),Point(11,12),Point(13,14),Point(15,16)};//调用四次带两个参的构造函数
	//生成对象p3[0],p3[1],p3[2],p3[3];
	Point p4[4]={Point(17,18),Point(10,20)};//先调用两次两个参的构造函数生成对象p4[0],p4[1],再调用
	//两次无参构造函数生成对象p4[2],p4[3];
	Point p5[2][2]={21,22,Point(23,24)};//调用两次一个参的构造函数生成对象p5[0]],p5[1],再调用两个
	//参的构造函数生成对象p5[2],最后调用无参构造函数生成对象p5[3];

	int i;
	for(i=0;i<4;i++)
		p1[i].Print();
	cout<<endl;

	for(i=0;i<4;i++)
		p2[i].Print();
	cout<<endl;

	for(i=0;i<4;i++)
		p3[i].Print();
	cout<<endl;

	for(i=0;i<4;i++)
		p4[i].Print();
	cout<<endl;

	for(i=0;i<2;i++)
		for(int j=0;j<2;j++)
			p5[i][j].Print();
	cout<<endl;

	return 0;
}

结果演示:
在这里插入图片描述

知识点2.使用对象数组的时候最好写一个无参的构造函数;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值