欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++構(gòu)建函數(shù)使用介紹

 更新時(shí)間:2022年08月30日 08:53:43   作者:ljh5930  
構(gòu)造函數(shù)主要作用在于創(chuàng)建對(duì)象時(shí)為對(duì)象的成員屬性賦值,構(gòu)造函數(shù)由編譯器自動(dòng)調(diào)用,無須手動(dòng)調(diào)用;析構(gòu)函數(shù)主要作用在于對(duì)象銷毀前系統(tǒng)自動(dòng)調(diào)用,執(zhí)行一 些清理工作

構(gòu)造函數(shù)概念:

構(gòu)造函數(shù)是一個(gè)特殊的成員函數(shù),名字與類名相同,創(chuàng)建類類型對(duì)象時(shí)由編譯器自動(dòng)調(diào)用,保證每個(gè)數(shù)據(jù)成員都有一個(gè)合適的初始值,并且在對(duì)象的生命周期內(nèi)只調(diào)用一次(創(chuàng)建對(duì)象)

作用:

創(chuàng)建一個(gè)對(duì)象(面向?qū)ο?,第一步肯定得?chuàng)建對(duì)象)并且數(shù)據(jù)成員都有初始數(shù)值(數(shù)值有初始化和賦值)

初始化和賦值區(qū)別

  • 初始化(數(shù)值在構(gòu)建函數(shù)中給予)
  • 賦值(數(shù)值在構(gòu)建函數(shù)完成之后給予)

初始化(數(shù)值在構(gòu)建函數(shù)中給予)

#ifndef __COMPLEX__
#define __COMPLEX__
class complex
{
public:
	complex(double r = 0, double i = 0)
	: re(r), im(i) {}  //初始化
private:
	double re, im;
};
#endif // !__COMPLEX__
#include"complex.h"
int main()
{
	complex c1(1, 1);
	return 0;
}

1.調(diào)用構(gòu)造函數(shù)

2.創(chuàng)建對(duì)象名字為c1

3.對(duì)象中數(shù)據(jù)成員與函數(shù)參數(shù)對(duì)應(yīng),進(jìn)行數(shù)值給予,生成對(duì)象的數(shù)據(jù)成員順序是類中private的順序

4.對(duì)象c1創(chuàng)建成功

賦值(數(shù)值在構(gòu)建函數(shù)完成之后給予)

#ifndef __COMPLEX__
#define __COMPLEX__
class complex
{
public:
	complex(double r = 0, double i = 0)  //名字與類名相同
	{
	re = r;
	im = i;
	}
private:
	double re, im;
};
#endif // !__COMPLEX__
#include"complex.h"
int main()
{
	complex c1(1, 1);
	return 0;
}

1.調(diào)用構(gòu)造函數(shù)

2.創(chuàng)建對(duì)象名字為c1

3.構(gòu)建函數(shù)中沒有初始化,編譯器自動(dòng)加上初始化操作,對(duì)數(shù)據(jù)成員進(jìn)行隨機(jī)數(shù)初始化

4.對(duì)象c1創(chuàng)建成功

5.函數(shù)中輸入的兩個(gè)參數(shù),函數(shù)執(zhí)行命令行,對(duì)數(shù)據(jù)進(jìn)行賦值

如何得知兩則區(qū)別

tihs指針

this指針中存儲(chǔ)的是自己對(duì)象的地址

在兩者構(gòu)造函數(shù)中使用this指針,初始化操作因?yàn)轭悓?duì)象完成初始化前,類對(duì)象還未形成,所以會(huì)對(duì)this報(bào)錯(cuò)

初始化中使用this

class complex
{
public:
	complex(double r = 0, double i = 0)
	: this->re(r),this-> im(i) {}
private:
	double re, im;
};

error: expected '{' before 'this'

賦值中使用this

class complex
{
public:
	complex(double r = 0, double i = 0)
	{
		this->im = r;
		this->re = i;
	}
private:
	double re, im;
};

到此這篇關(guān)于C++構(gòu)建函數(shù)使用介紹的文章就介紹到這了,更多相關(guān)C++構(gòu)建函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論