第18课-对象的构造(中)
1. 构造函数
-
带有参数的构造函数
- 构造函数可以根据需要定义参数
- 一个类中可以存在多个重载的构造函数
- 构造函数的重载遵循C++重载的规则
class Test { public: Test(int v) { // use v to initialize member } };
-
友情提示
- 对象定义和对象声明不同
(1) 对象定义 - 申请对象的空间并调用构造函数
(2) 对象声明 - 告诉编译器存在存在这样一个对象
Test t; // 定义对象并调用构造函数 int main() { // 告诉编译器存在名为t的Test对象 extern Test t; return 0; }
-
构造函数的自动调用
class Test { public: Test() {} Test(int v) {} }; int main() { Test t; // 调用 Test() Test t1(1); // 调用Test(int v) Test t2 = 1; // 调用Test(int v) }
-
构造函数的调用
- 一般情况下,构造函数在对象定义时被自动调用
- 一些特殊情况下,需要手工调用构造函数
- 如何创建对象数组?
2. 小实例
- 需求:开发一个数组类解决原生数组的安全问题
- 提供函数获取数组长度
- 提供函数获取数组元素
- 提供函数设置数组元素
3. 小结
-
构造函数可以根据需要定义参数
-
构造函数之间可以存在重载关系
-
构造函数遵循C++中重载函数的规则
-
对象定义时会触发构造函数的调用
-
在一些情况下可以手动调用构造函数
本文出处:狄泰软件学院
浙公网安备 33010602011771号