C++ 08:对象数组——批量管理对象的高效方式
对象数组本质是元素为类对象的数组和基本类型数组用法相似但会自动触发每个对象的构造与析构函数是批量管理同类对象的核心工具。一、核心概念与语法1. 定义对象数组类名 数组名[数组长度];定义时系统会为每个元素自动调用匹配的构造函数完成初始化。数组生命周期结束时会为每个对象自动调用析构函数。2. 访问成员访问数据成员数组名[下标].数据成员;调用成员函数数组名[下标].成员函数(实参列表);注意必须保证成员有合适的访问权限如public。二、完整示例代码以长方体类Box为例演示对象数组的创建、初始化与使用#include iostream using namespace std; class Box { public: // 带默认参数的构造函数可作为无参构造 Box(int len 1, int w 1, int h 1) : length(len), width(w), height(h) { cout Box构造函数被调用它的长是: length endl; } ~Box() { cout Box析构函数被调用它的长是: length endl; } int volume() { return length * width * height; } private: int length; // 长 int width; // 宽 int height; // 高 }; int main() { // 1. 定义并初始化对象数组 Box a[3] { Box(), // 调用默认参数构造 Box(10, 15), // 传入部分参数 Box(20, 30, 40) // 传入全部参数 }; // 2. 访问数组元素的成员函数 cout a[0] 的体积是: a[0].volume() endl; cout a[1] 的体积是: a[1].volume() endl; cout a[2] 的体积是: a[2].volume() endl; return 0; }三、执行结果与规律分析Box构造函数被调用它的长是:1 Box构造函数被调用它的长是:10 Box构造函数被调用它的长是:20 a[0] 的体积是: 1 a[1] 的体积是: 150 a[2] 的体积是: 24000 Box析构函数被调用它的长是:20 Box析构函数被调用它的长是:10 Box析构函数被调用它的长是:1关键规律构造顺序从数组下标 0 开始往后依次调用构造函数。析构顺序与构造顺序相反从数组最后一个元素往前调用析构函数栈式管理。自动调用数组中每个对象都会自动触发构造和析构无需手动调用。四、核心总结对象数组是类对象的集合用法与基本类型数组一致。定义数组时自动调用构造函数数组销毁时自动调用析构函数。构造顺序从前往后析构顺序从后往前。访问成员时用.运算符需保证成员访问权限为public。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2431917.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!