构造函数基本概念

构造函数的概念
(1)构造函数是特殊的成员函数。
(2)当创建类类型的新对象时,系统自动调用构造函数。
(3)构造函数的作用在对象被创建时使用特点的值构造对象,将对象初始化为一个特定的初始状态,保证对象的每个数据成员都能够被正确的初始化。
构造函数的要求

  1. 函数名=类名,不能定义返回值类型,也不能有return语句。
  2. 如果没有定义构造函数,编译器将在需要时自动生成一个默认构造函数,默认构造函数参数列表为空,且初始值可能不定, 此时不会对对象数据初始化,对象数据成员的值是随机的。
  3. 如果我们提供了一个构造函数,系统就不在为我们提供默认构造函数。
    注意事项
  4. 全局对象的构造函数是先于main函数执行的。
  5. 虽然一个对象可以定义多个构造函数,但是有的构造函数只接受一个实参,系统就不知道使用哪个构造函数而出错。
    错 例:class clock
    {
    public:
    clock(int H);
    clock(int H,int M=2,int S=2);

    }
    int main(void)
    {
    clock t(5);

    }
    3.如果定义了构造函数,编译器就不再隐含生成默认的构造函数,所以你在定义新的对象时,就必须传递一个参数以使用
    上面你自己定义的构造函数。
    错例: class clock
    {
    public:
    clock(int H);

    }
    int main (void)
    {
    clock t;

    }
    下面是关于构造函数的类定义:
    在这里插入图片描述
    下面代码是test类的使用

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43434300/article/details/83106899