注:尽量初始化对象的所有数据成员,防止未初始化被调用。
1.使用构造函数初始化:
①
char *name;
char *address;
long birthdate;
1 person::person() 2 { 3 name = 0; 4 address = 0; 5 birthdate = 0; 6 }
②
使用已有设置数据成员的函数
1 person::person(char *_name,char *_address,long _birthdate) 2 { 3 setName(_name); 4 setAddress(_address); 5 setBirthdate(_birthdate); 6 }
③
若数据成员为const类型,直接修改,则使用C++自带的初始化器;
const long birthdate;
person::person(char *_name, char *_address, long _birthdate) :name(_name), address(_address),birthdate(_birthdate) { }
④
该类为派生类;
或该类内嵌对象
private:
person person1;
1 teacher::teacher(char *_name, char *_address, long _birthdate) 2 :person1(_name,_address,_birthdate) 3 { 4 5 }
初始化语义效率高