C++ Constructors

Giới thiệu về Constructors trong C++

Trong lập trình C++, constructors (hàm khởi tạo) là một thành phần quan trọng chịu trách nhiệm khởi tạo các đối tượng của lớp. Chúng được gọi tự động khi một đối tượng được tạo ra từ lớp, và có thể được sử dụng để gán giá trị cho các thuộc tính của đối tượng hoặc thực hiện bất kỳ công việc khởi tạo cần thiết nào khác.

Định nghĩa về Constructors

Constructor là một hàm đặc biệt có tên trùng với tên của lớp và không có giá trị trả về (không có kiểu trả về). Constructor có thể có tham số hoặc không có tham số, và có thể được nạp chồng (overloaded) để tạo ra nhiều biến thể khác nhau.

Cú pháp của Constructors

class ClassName {
public:
    ClassName(); // Constructor không tham số
    ClassName(parameterType parameter); // Constructor có tham số
};

Các loại Constructors

1. Constructor không tham số

class Point {
public:
    int x, y;

    // Constructor không tham số
    Point() {
        x = 0;
        y = 0;
    }
};

2. Constructor có tham số

class Point {
public:
    int x, y;

    // Constructor có tham số
    Point(int xCoord, int yCoord) {
        x = xCoord;
        y = yCoord;
    }
};

3. Constructor sao chép (Copy Constructor)

class Point {
public:
    int x, y;

    // Constructor không tham số
    Point() : x(0), y(0) {}

    // Constructor có tham số
    Point(int xCoord, int yCoord) : x(xCoord), y(yCoord) {}

    // Constructor sao chép
    Point(const Point &p) {
        x = p.x;
        y = p.y;
    }
};

Ví dụ về Constructors

#include 
using namespace std;

class Point {
public:
    int x, y;

    // Constructor không tham số
    Point() : x(0), y(0) {}
    
    // Constructor có tham số
    Point(int xCoord, int yCoord) : x(xCoord), y(yCoord) {}
};

int main() {
    Point p1; // Gọi constructor không tham số
    Point p2(10, 20); // Gọi constructor có tham số

    cout << "Point 1: (" << p1.x << ", " << p1.y << ")" << endl;
    cout << "Point 2: (" << p2.x << ", " << p2.y << ")" << endl;

    return 0;
}

Kết luận

Constructor trong C++ là một phần quan trọng để khởi tạo các đối tượng. Việc sử dụng constructors giúp chúng ta dễ dàng quản lý và đảm bảo rằng các đối tượng được thiết lập với trạng thái ban đầu hợp lệ. Hi vọng bài viết này đã giúp bạn hiểu rõ hơn về constructors trong C++!