五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【C++primer】構(gòu)造函數(shù)

2023-06-24 12:08 作者:我是信信信  | 我要投稿

?#include <iostream>

using namespace std;

class Sales_data

{

public:

? ? Sales_data(std::string s) : bookNo(s)

? ? {

? ? } // 自定義構(gòu)造函數(shù)

? ? string bookNo;

? ? string str;

};


int main()

{

? ? Sales_data data2("hello");

}

調(diào)用構(gòu)造函數(shù),僅僅只是初始化了bookNo,但是str并沒有被初始化,但是通過單步調(diào)試,str被默認(rèn)初始化為空字符串(“”),也就是說:在創(chuàng)建data2對(duì)象的過程中,間接地調(diào)用了兩個(gè)不同類型的構(gòu)造函數(shù):一個(gè)是Sales_data的構(gòu)造函數(shù),另一個(gè)是std::string的默認(rèn)構(gòu)造函數(shù)。


那么就有個(gè)問題:既然調(diào)用了自己定義的構(gòu)造函數(shù)(Sales_data(std::string s) : bookNo(s)

),就不可能再調(diào)用默認(rèn)構(gòu)造函數(shù),這豈不是矛盾?


原因是:這是兩個(gè)不同類型的構(gòu)造函數(shù)。


當(dāng)我們創(chuàng)建一個(gè)Sales_data對(duì)象,比如Sales_data data2("hello");,我們實(shí)際上在調(diào)用Sales_data類的一個(gè)構(gòu)造函數(shù),那么就不能再調(diào)用Sales_data類的默認(rèn)構(gòu)造函數(shù),但是并不妨礙我們調(diào)用std::string的默認(rèn)構(gòu)造函數(shù)來初始化str


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

?Sales_data(std::istream& is)

?{? ? ? ? ?read(is, *this);

?}

然后調(diào)用構(gòu)造函數(shù)構(gòu)造對(duì)象:

Sales_data total(cin);


this指針只能存在于member function中,當(dāng)調(diào)用構(gòu)造函數(shù)構(gòu)造對(duì)象(初始化對(duì)象)的時(shí)候,可以認(rèn)為是構(gòu)造函數(shù)正在作用于類對(duì)象(total),然后會(huì)把total的地址,即&total傳遞給this指針,所以this指向了total對(duì)象。


【C++primer】構(gòu)造函數(shù)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永州市| 松溪县| 杂多县| 陕西省| 霸州市| 湄潭县| 沙河市| 盐边县| 长乐市| 和政县| 阿合奇县| 汉川市| 福清市| 黄浦区| 老河口市| 扶沟县| 辽宁省| 南岸区| 简阳市| 雅安市| 宝应县| 青阳县| 临海市| 云阳县| 肇庆市| 桂林市| 温州市| 武功县| 枝江市| 永寿县| 潼关县| 湘潭县| 镇安县| 开阳县| 岱山县| 进贤县| 府谷县| 栾川县| 颍上县| 内江市| 井陉县|