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

来源:互联网 发布:java验证码过期怎么做 编辑:程序博客网 时间:2024/06/03 07:30

概述:在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 0