除了使用构造函数可以对类中的成员变量进行初始化,还可以使用参数初始化列表。这种方法不在函数体内对数据成员初始化,而是在函数首部实现。这样可以减少函数体的长度。
举例如下:
#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);}