(一一八)对象数组

对象的数组,和声明一个普通的结构数组并没有什么区别。

 

在默认情况下,单纯的声明一个对象数组(未显式的调用构造函数时),那么将调用默认构造函数为对象数组的每个成员进行赋值(具体赋值情况需要根据默认构造函数而定)。

 

如代码:

#include<iostream>
#include<string>

class man
{
private:
	std::string name;
	int a;
public:
	man() { name = "no name";a = 0; }
	man(const char* na, int b) { name = na;a = b; }
	void show()
	{
		std::cout << name << ": " << a << std::endl;
	}
};

int main()
{
	man a[2];	//第一种声明方法,使用默认构造函数
	a[0].show();

	man b[2] =	//第二种声明方法,使用构造函数的重载函数
	{
		man{ "aa",1 },	//可以只声明一个,也可以声明一个里面的一个或几个成员(但前提是默认构造函数提供了默认参数)
		man{ "bb", 2 }	//这里就像单独声明一个对象一样,多个对象之间用逗号隔开
	};
	b[0].show();

	const int p = 2;
	man c[p] =	//也可以同时使用不同的构造函数
	{
		man(),		//这里使用默认构造函数
		man("xx",5)	//这里使用另一个构造函数

	};
	c[0].show();

	system("pause");
	return 0;
}

总结:

①三种声明方法:分别是:使用默认构造函数、使用构造函数并赋初值、二者混用。具体见代码。

 

②其他使用方法和声明、初始化结构数组并没有什么不用。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值