网站建设费算办公费吗,文山北京网站建设,wordpress修改网页,网站建设的细节处理C对象数组 一、对象数组的定义二、对象数组的特性三、对象数组的使用3.1 构造函数没有参数3.2 构造函数有一个参数3.3 构造函数有多个参数 四、为什么要使用对象数组#xff1f; 一、对象数组的定义
所谓对象数组#xff0c;指每一个数组元素都是对象的数组#xff0c;即若… C对象数组 一、对象数组的定义二、对象数组的特性三、对象数组的使用3.1 构造函数没有参数3.2 构造函数有一个参数3.3 构造函数有多个参数 四、为什么要使用对象数组 一、对象数组的定义
所谓对象数组指每一个数组元素都是对象的数组即若一个类有若干个对象我们把这一系列的对象用一个数组来存放。对象数组的元素是对象不仅具有数据成员而且还有函数成员。
二、对象数组的特性
1、在建立对象数组的时候需要调用构造函数有多少个对象就要调用多少次构造函数。
2、如果对象数组含有析构函数那么建立对象数组时按每个元素出现的顺序调用构造函数按相反的顺序调用析构函数。
3、对象数组的初始化究竟是什么形式本质上取决于所属类的构造函数。 如果对象数组所属类有带参数的构造函数可用初始化列表按顺序调用构造函数使用复制初始化来初始化每个数组元素。
如果对象数组所属类有单个参数时定义数组时可以直接在初始化列表中提供实参。
对象数组创建时若没有初始化则其所属类要么有合成默认构造函数要么定义无参数的构成函数或全部参数为默认参数的构造函数。
三、对象数组的使用
3.1 构造函数没有参数
各元素对象的初值要求为相同的值时应该在类中定义不带参数的构造函数或者是默认构造函数。
#includeiostream
using namespace std;
class exam {
public:exam() {x 2022;}int getX() {return x;}~exam() {};
private:int x;
};
int main()
{exam a[5];for (int i 0; i 5; i){cout a[i].getX() ;}cout endl;return 0;
}3.2 构造函数有一个参数
#includeiostream
using namespace std;
class exam {
public:exam() {x 2022;}exam(int a) {x a;}int getX() {return x;}~exam() {};
private:int x;
};
int main()
{exam a[5]{0,1,2,3,4};exam b[5] { 0,1};exam c[5];for (int i 0; i 5; i){cout a[i].getX() ;}for (int i 0; i 5; i){cout b[i].getX() ;}for (int i 0; i 5; i){cout c[i].getX() ;}cout endl;return 0;
}3.3 构造函数有多个参数
各元素对象的初值要求为不同的值时需要定义带形参的构造函数。
#includeiostream
#includecmath
using namespace std;
class Complex{public:Complex(double r0.0,double i0.0):real(r),imag(i){}~Complex(){coutDestructor called.endl;}double abscomplex(){double t;treal*realimag*imag;return sqrt(t);}private:double real;double imag;
};
int main(){Complex com[3]{ //定义对象数组Complex(1.1,2.2), //调用构造函数为第1个对象数组元素提供实参1.1和2.2 Complex(3.3,4.4), //调用构造函数为第2个对象数组元素提供实参3.3和4.4 Complex(5.5,6.6) //调用构造函数为第3个对象数组元素提供实参5.5和6.6 };cout复数1的绝对值是com[0].abscomplex()endl;cout复数1的绝对值是com[1].abscomplex()endl;cout复数1的绝对值是com[2].abscomplex()endl;return 0;
}
四、为什么要使用对象数组
C中使用对象数组的主要原因是可以方便地创建多个对象并且可以通过下标访问和操作这些对象。对象数组可以用于存储和处理大量的数据。 例如在游戏开发中可以使用对象数组来存储和管理游戏中的角色、道具等信息。此外对象数组还可以用于实现一些数据结构例如队列、栈等。
在使用对象数组时需要注意对象的构造函数和析构函数的调用以及对象数组的初始化方式。