[C++]类与对象,构造函数,实现显示日期。

[C++]类与对象,构造函数,实现显示日期。,第1张

📚 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用。


能够保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。


 构造函数的意义:能够保证对象被初始化。


构造函数是特殊的成员函数,主要任务是初始化,而不是开空间。


(虽然构造函数的名字叫构造)

🔑 解读:不给参数时就会调用无参构造函数,给参数则会调用带参构造函数。


class Date {

public:

    /* 全缺省 */

    //构造函数的全缺省形式。


    Date(int year = 0, int month = 1, int day = 1) {//直接在这里初始化。


        _year = year;

        _month = month;

        _day = day;

    }

    void Print() {

        printf("%d-%d-%d\n", _year, _month, _day);

    }

private:

    int _year;

    int _month;

    int _day;

};

int main(void)

{

    Date d1; // 如果不传,就是缺省值,后面是不用加括号的。


    Date d2(2022, 1, 15);

    Date d3(2009);

    Date d4(2012, 4);

    d1.Print();  // 0-1-1

    d2.Print();  // 2022-1-15

    d3.Print();  // 2009-1-1

    d4.Print();  // 2012-4-1

    return 0;

}

📚 任何一个类的默认构造函数,只有三种:

① 无参的构造函数

② 全缺省的构造函数

③ 我们不写,编译器自己生成的构造函数

💬 如果你没有自己定义构造函数(类中未显式定义),

C++ 编译器会自动生成一个无参的默认构造函数。


当然,如果你自己定义了,编译器就不会帮你生成了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/564055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-03
下一篇 2022-04-03

发表评论

登录后才能评论

评论列表(0条)

保存