第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++中重载函数的规则

  • 对象定义时会触发构造函数的调用

  • 在一些情况下可以手动调用构造函数

本文出处:狄泰软件学院

posted @ 2020-05-11 20:26  WisdomMan  阅读(0)  评论(0)    收藏  举报