C++中类由class关键字定义,含私有数据成员和公有成员函数,构造函数名与类名相同、无返回类型,用成员初始化列表高效初始化;可重载、委托或设默认参数。
在
C++中定义一个类,就是用 class 关键字声明一组相关数据(成员变量)和操作这些数据的函数(成员函数),其中构造函数用于初始化对象。
类通常包含私有(private)数据成员和公有(public)成员函数。例如定义一个表示学生的类:
class Student {
private:
std::string name;
int age;
public:
Student(); // 默认构造函数
Student(std::string n, int a); // 带参构造函数
void display() const;
};
构造函数名必须与类名完全相同,没有返回类型(连 void 也不能写)。它在创建对象时自动调用:
Student::Student() : name("Unknown"), age(0) {}
Student::Student(std::string n, int a) : name(n), age(a) {}
定义类之后,就可以用它创建对象,并调用成员函数:
int main() {
Student s1; // 调用默认构造函数
Student s2("Alice", 20); // 调用带参构造函数
s2.display();
return 0;
}
可简化构造函数数量:
Student::Student(std::string n = "Unknown", int a = 0) : name(n), age(a) {}
或用委托构造避免重复代码:
Student::Student() : Student("Unknown", 0) {}
Student::Student(std::string n, int a) : name(n), age(a) {}