C++構建函數(shù)使用介紹
構造函數(shù)概念:
構造函數(shù)是一個特殊的成員函數(shù),名字與類名相同,創(chuàng)建類類型對象時由編譯器自動調用,保證每個數(shù)據(jù)成員都有一個合適的初始值,并且在對象的生命周期內只調用一次(創(chuàng)建對象)
作用:
創(chuàng)建一個對象(面向對象,第一步肯定得創(chuàng)建對象)并且數(shù)據(jù)成員都有初始數(shù)值(數(shù)值有初始化和賦值)
初始化和賦值區(qū)別
- 初始化(數(shù)值在構建函數(shù)中給予)
- 賦值(數(shù)值在構建函數(shù)完成之后給予)
初始化(數(shù)值在構建函數(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.調用構造函數(shù)
2.創(chuàng)建對象名字為c1
3.對象中數(shù)據(jù)成員與函數(shù)參數(shù)對應,進行數(shù)值給予,生成對象的數(shù)據(jù)成員順序是類中private的順序
4.對象c1創(chuàng)建成功
賦值(數(shù)值在構建函數(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.調用構造函數(shù)
2.創(chuàng)建對象名字為c1
3.構建函數(shù)中沒有初始化,編譯器自動加上初始化操作,對數(shù)據(jù)成員進行隨機數(shù)初始化
4.對象c1創(chuàng)建成功
5.函數(shù)中輸入的兩個參數(shù),函數(shù)執(zhí)行命令行,對數(shù)據(jù)進行賦值
如何得知兩則區(qū)別
tihs指針
this指針中存儲的是自己對象的地址
在兩者構造函數(shù)中使用this指針,初始化操作因為類對象完成初始化前,類對象還未形成,所以會對this報錯
初始化中使用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;
};
到此這篇關于C++構建函數(shù)使用介紹的文章就介紹到這了,更多相關C++構建函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
c++利用windows函數(shù)實現(xiàn)計時示例
這篇文章主要介紹了c++利用windows函數(shù)實現(xiàn)計時示例,需要的朋友可以參考下2014-05-05

