C++之构造函数基础篇

2022-10-22  本文已影响0人  二进制人类

构造函数的概述

构造函数:编译器自动调用,如果用户不提供构造函数,编译器会提供一个空的无参构造函数。

类实例化对象的时候,先为对象开辟空间,在自动调用构造函数 完成初始化。

构造函数定义形式

  1. 构造函数必须是public

  2. 构造函数的函数名必须和类名称相同, 不能有返回值类型(连void都不可以),可以有形参(构造函数可以重载)。

class Data
{
public:
 Data()
 {
 cout<<"无参构造"<<endl;
 }
};

int main(int argc, char *argv[])
{
 //实例化对象 自动调用 无参构造
 Data ob1;
 return 0;
}

构造函数分类

无参构造

有参构造

拷贝构造

构造函数调用形式

#include <iostream>

using namespace std;
class Data
{
private:
 int m_A;
public:
 Data()
 {
 cout<<"无参构造"<<endl;
 }
 Data(int a)
 {
 m_A = a;
 cout<<"有参构造m_A="<<m_A<<endl;
 }
};

int main(int argc, char *argv[])
{
 //1、隐式调用无参构造(推荐)
 Data ob1;
 //2、显示 调用无参构造
 Data ob2=Data();

 //3、隐式调用有参构造(推荐)
 Data ob3(10);
 //4、显示调用有参构造
 Data ob4=Data(20);

 //5、匿名对象 当前语句结束 匿名对象将被释放
 Data();//无参的匿名对象
 Data(30);//有参的匿名对象

 //6、以下代码不是实例化对象 而是函数声明
 //该函数名为ob5 无参 返回值类型为Data
 Data ob5();

 return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读