除了使用构造函数可以对类中的成员变量进行初始化,还可以使用参数初始化列表。这种方法不在函数体内对数据成员初始化,而是在函数首部实现。这样可以减少函数体的长度。
举例如下:
#include<string> using namespace std; class Student { public: void display(); Student(int a,string b,char c); private: int num; string name; char sex; };
#include<iostream> #include<string> #include"Sudent.h" void Student::display() { cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl; } Student::Student(int a,string b,char c):num(a),name(b),sex(c){}注:如果数据成员是数组,则应该在构造函数的函数体内用语句进行赋值。
例如构造函数可以写为
Student(int n,char s,nam[]):num(n),sex(s),{strcpy(name,nam);}