五月天青色头像情侣网名,国产亚洲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ó)家法律
绥宁县| 临澧县| 大竹县| 新平| 金乡县| 阳城县| 洛南县| 灵石县| 怀化市| 鄄城县| 柘荣县| 嘉峪关市| 都兰县| 巫山县| 台山市| 宝应县| 新兴县| 南丰县| 襄城县| 江孜县| 炎陵县| 通化县| 商洛市| 辽宁省| 长丰县| 商丘市| 黑龙江省| 文成县| 渭源县| 瑞金市| 肇东市| 柳林县| 嘉禾县| 基隆市| 肥城市| 武山县| 威海市| 渭南市| 南昌市| 定远县| 循化|