Hàm khởi tạo (constructor) là một phương thức đặc biệt trong lập trình C++ hướng đối tượng, được gọi tự động khi một đối tượng được tạo ra từ một lớp. Hàm khởi tạo có nhiệm vụ khởi tạo các giá trị ban đầu cho các thuộc tính của đối tượng, giúp đảm bảo rằng đối tượng luôn có trạng thái hợp lệ ngay sau khi được tạo ra.
Dưới đây là cách định nghĩa và sử dụng hàm khởi tạo trong lập trình C++:
cpp
#include <iostream>
class Student {
private:
std::string name;
int age;
public:
// Hàm khởi tạo mặc định
Student() : name("Unknown"), age(0) {}
// Hàm khởi tạo có tham số
Student(std::string n, int a) : name(n), age(a) {}
// Phương thức hiển thị thông tin
void displayInfo() {
std::cout << "Tên: " << name << ", Tuổi: " << age << std::endl;
}
};
int main() {
// Tạo đối tượng bằng hàm khởi tạo mặc định
Student student1;
student1.displayInfo();
// Tạo đối tượng bằng hàm khởi tạo có tham số
Student student2("John", 20);
student2.displayInfo();
return 0;
}
Trong ví dụ trên, chúng ta đã định nghĩa lớp Student
với hai hàm khởi tạo: một hàm khởi tạo mặc định không có tham số và một hàm khởi tạo có tham số để thiết lập giá trị ban đầu cho thuộc tính name
và age
. Trong hàm main
, chúng ta tạo hai đối tượng student1
và student2
sử dụng các hàm khởi tạo khác nhau và gọi phương thức displayInfo
để hiển thị thông tin của đối tượng.
Hàm khởi tạo giúp bạn đảm bảo rằng các thuộc tính của đối tượng luôn có giá trị hợp lệ ngay sau khi đối tượng được tạo ra và giúp tạo ra các đối tượng có trạng thái khởi đầu như bạn mong muốn.