如何在构造函数C++中初始化多个const变量?
标题:如何在构造函数C++中初始化多个const变量?,c++,variables,constructor,static,C++,Variables,Constructor,Static,标题: #ifndef EMPLOYEE_H_ #define EMPLOYEE_H_ #include "Date.h" #include "String.h" class Employee { private: String firstname; String lastName; const Date birth; const int id; const Date start; double salary; int status; p
#ifndef EMPLOYEE_H_
#define EMPLOYEE_H_
#include "Date.h"
#include "String.h"
class Employee {
private:
String firstname;
String lastName;
const Date birth;
const int id;
const Date start;
double salary;
int status;
public:
Employee();
Employee(char* firstname,char* lastname,Date birth,int id,Date start,double salary,int status);
virtual ~Employee();
};
cpp:
#include "Employee.h"
#include "Date.h"
#include "String.h"
Employee::Employee() :id( 0 ) {
salary=0;
status=0;
}
Employee::Employee(char* firstname,char* lastname,Date birth,int Id,Date start,double salary,int status){
}
Employee::~Employee() {
}
#endif /* EMPLOYEE_H_ */
如何初始化构造函数中的所有常量变量??
我不能发布小文本…忽略这些废话废话废话
布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉。这是一个列表,因为它可以用来初始化多个值,逗号分隔。如果可能的话,您甚至可以并且应该使用它来初始化非常量成员
Employee::Employee()
:birth(args),
id( 0 ),
start(args),
salary(0.0),
status(0)
{}
请注意,我对成员的排序与它们在类主体中出现的顺序相同。这不是一个要求,但却是一个很好的实践,因为这是它们初始化的顺序,不管您以什么顺序列出它们。如果一个成员的初始化依赖于另一个成员的值,这一点就显得尤为重要。与初始化第一个成员的方式相同?@juanchopanza:这不是重复的。OP似乎知道初始化列表,但没有意识到它是一个列表,可以用来初始化多个成员。您标记的副本也没有显示。请在初始化列表上签出本教程@BenjaminLindley我在OP的帖子中没有看到任何证据表明他们知道初始化列表。@juanchopanza:他在他的默认构造函数中使用了它。还有基类。