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

本文介绍了C++中构造函数的重要性和作用,强调其在对象初始化中的关键角色。无参构造函数、全缺省构造函数和编译器自动生成的构造函数是构造函数的三种主要形式。通过实例展示了如何使用不同构造函数初始化类类型对象,包括不提供参数时调用无参构造函数和提供参数时调用带参构造函数。
摘要由CSDN通过智能技术生成

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

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

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

构造函数是特殊的成员函数,主要任务是初始化,而不是开空间。(虽然构造函数的名字叫构造)

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

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++ 编译器会自动生成一个无参的默认构造函数。

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值