让对象良好起步
1. 构造函数及其限制
在面向对象编程中,构造函数是一个非常重要的概念。它确保对象在创建时能够被正确初始化,从而避免潜在的错误和不确定性。构造函数的主要任务是在对象创建时为其成员变量赋予合理的初始值。例如,当我们定义一个 Student
类时,我们希望每个 Student
对象在创建时都能拥有一个合法的初始状态。
1.1 构造函数的基本语法
构造函数的名称与类名相同,没有返回类型(包括 void
)。它可以在对象创建时自动调用,而不能像普通成员函数那样手动调用。构造函数可以接受参数,用于初始化对象的成员变量。例如:
class Student {
protected:
double dGrade; // 学生的GPA
int nSemesterHours; // 学生的学期学时数
public:
// 默认构造函数
Student() {
cout << "Constructing a Student object" << endl;
dGrade = 0.0;
nSemesterHours = 0;
}
// 带参数的构造函数
Student(const char* pszNewName, int