日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]從C++基本知識說起先看下面代碼:struct?Point{ ????int?x; ????int?y; };代碼內(nèi)容很簡單,定義了一個包含成員x,y的類Point。在需要的地方可以使用這個類:???

從C++基本知識說起


先看下面代碼:


struct?Point{
????int?x;
????int?y;
};


代碼內(nèi)容很簡單,定義了一個包含成員x,y的類Point。在需要的地方可以使用這個類:


????Point?pt;
????pt.x?=?10;
????pt.y?=?10;


雖然我們并沒用定義Point類的構造函數(shù),我們依然可以定義Point類的pt對象并使用它,其原因是編譯器會自動生成一個缺省的的構造函數(shù)。其效果大致相當于:


struct?Point{
????Point(){}
????int?x;
????int?y;
};


一切看起來是那么的美好,但是一旦因為其他原因添加了其他有參數(shù)的構造函數(shù),編譯器就不再生成缺省的構造函數(shù)了。


C++11的解決方案


C++11允許我們使用=default來要求編譯器生成一個默認構造函數(shù):


struct?Point{????
????Point()=default;
????Point(int?_x,?int?_y):x(_x),y(_y){}
????int?x?=?0;
????int?y?=?0;
};


這樣,我們就可以繼續(xù)我們的美好生活了。


如果是自己編寫的無參構造函數(shù)的話,就需要指定成員的構造方式。默認構造函數(shù)會對數(shù)據(jù)成員進行默認初始化,所以就不需要另外指定了。這樣可以省去一些麻煩。


由于整數(shù)是內(nèi)置類型,而整數(shù)成員的默認初始化是不初始化,所以本例中的x,y還是需要類內(nèi)初始化。這時另一個話題。


作者觀點


C++的語法很嚴密,就好像經(jīng)過理論推演一樣。



本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉