(一一八)对象数组

简介:

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

 

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

 

如代码:

#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;
}

总结:

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

 

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


目录
相关文章
|
存储 编译器 程序员
C/C++ 中的数组
C/C++ 或任何编程语言中的数组是存储在连续内存位置的相似数据项的集合,可以使用数组的索引随机访问元素。它们可用于存储原始数据类型的集合,例如任何特定类型的 int、float、double、char 等。此外,C/C++ 中的数组可以存储派生的数据类型,例如结构、指针等。
177 0
|
人工智能 Java C语言
|
9月前
|
存储 JavaScript 前端开发
数组
数组
66 0
|
8月前
|
存储 C语言
|
存储 机器学习/深度学习 Java
原来这就是数组
原来这就是数组
97 0
|
算法
数组循环移位
来源:http://blog.csdn.net/laizemu/article/details/4046791 作者:沐的专栏 要求:设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。
954 0
|
9月前
|
程序员 索引
C 中数组详解
C 中数组详解。
40 3
|
存储 程序员 C++
C++ 数组
【摘要】 C++ 数组C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来代表一个个...
|
存储 编译器 程序员
数组详解
数组详解
83 0

热门文章

最新文章