C++参数初始化表
通過(guò)參數(shù)初始化表同樣可以對(duì)對(duì)象進(jìn)行初始化,在函數(shù)首部與函數(shù)體之間增添了一個(gè)冒并加上title(a),price(p)語(yǔ)句,這個(gè)語(yǔ)句的意思相當(dāng)于函數(shù)體內(nèi)部的 title = a; price = p; 語(yǔ)句。這樣做對(duì)于兩個(gè)成員變量的類(lèi)來(lái)說(shuō)看不出什么優(yōu)勢(shì),但是一旦當(dāng)成員變量非常多的時(shí)候,通過(guò)參數(shù)初始化列表進(jìn)行初始化其優(yōu)勢(shì)便可以顯現(xiàn)出來(lái)了,如此寫(xiě)法簡(jiǎn)潔明了。
class book { public:book(){}book(char* a, double p);void setprice(double a);double getprice();void settitle(char* a);char * gettitle();void display(); private:double price;char * title; };book::book(char *a, double p):title(a),price(p){}//初始化表參數(shù)初始化表還有一個(gè)很重要的作用,那就是為const成員變量初始化。
初始化const成員變量的唯一方法只有利用參數(shù)初始化表。
class Array { public:Array():length(0){num = NULL;}Array(int * a): num(a), length(5){} private:const int length;int * num; };使用參數(shù)初始化表還需要注意的是,參數(shù)初始化順序與初始化表列出表量的順序無(wú)關(guān),參數(shù)初始化順序只與成員變量在類(lèi)中聲明的順序有關(guān)。
總結(jié)
- 上一篇: C++通过引用来传递和返回类对象
- 下一篇: C++使用默认参数的构造函数