C++参数初始化表
通過參數初始化表同樣可以對對象進行初始化,在函數首部與函數體之間增添了一個冒并加上title(a),price(p)語句,這個語句的意思相當于函數體內部的 title = a; price = p; 語句。這樣做對于兩個成員變量的類來說看不出什么優勢,但是一旦當成員變量非常多的時候,通過參數初始化列表進行初始化其優勢便可以顯現出來了,如此寫法簡潔明了。
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){}//初始化表參數初始化表還有一個很重要的作用,那就是為const成員變量初始化。
初始化const成員變量的唯一方法只有利用參數初始化表。
class Array { public:Array():length(0){num = NULL;}Array(int * a): num(a), length(5){} private:const int length;int * num; };使用參數初始化表還需要注意的是,參數初始化順序與初始化表列出表量的順序無關,參數初始化順序只與成員變量在類中聲明的順序有關。
總結
- 上一篇: C++通过引用来传递和返回类对象
- 下一篇: C++使用默认参数的构造函数