C++通过构造器,实现对象初始化的两种方法(重载、默认参数)

概述:在C++中,当类创建对象时,会自动调用构造器,来完成对类对象的初始化。特点如下

- 1 .在对象创建时自动调用,完成与初始化相关的工作。
- 2 .无返回值,与类名相同。
- 3 .可以重载,可用默认参数(不可同时使用)。
- 4 .若未提供任何构造器,默认存在一个无参的空构造器。
若提供,默认构造器则不再存在。
- 5 . 无论是重载还是默认参数,都要包含无参情况(标配);
为了实现对象的无参创建

class A
{   
    A()//默认构造器,无返回值与类名相同,创建对象自动调用
    {
    }
}

1.通过重载,实现类对象的初始化

例1.代码如下

#include<iostream>

using namespace std;

class  A
{
private:
    int number;
public:     //重载
    A()     //无参构造器
    {
     number=1;
    }
    A(int tem) //有参构造器
    {
        number =tem;
    }
    int Getnumber()
    {
        return number;
    }

};
int main()
{
   A a; //无参构造器的调用,实现无参构造对象
   cout<<a.Getnumber()<<endl;
   A b(100); //有参构造器的调用
   cout<<b.Getnumber()<<endl;

return 0;
}

这里写图片描述


2、通过默认参数,实现类对象的初始化

#include<iostream>

using namespace std;

class  A
{
private:
    int number;
public: 
    A(int tem=1) //使用默认参数初始化对象
        :number(tem)//参数列表
    {

    }
    int Getnumber()
    {
        return number;
    }

};


int main()
{
   A a; //实现了无参构造
   cout<<a.Getnumber()<<endl;
   A b(100); //有参构造器
   cout<<b.Getnumber()<<endl;

return 0;
}

这里写图片描述

相比较而言,采用默认参数的方式实现类的对象的初始化比较好。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值