Hướng dẫn C ++

C ++ TRANG CHỦ Giới thiệu C ++ C ++ Bắt đầu Cú pháp C ++ Đầu ra C ++ Nhận xét C ++ Biến C ++ Đầu vào của người dùng C ++ Các kiểu dữ liệu C ++ Toán tử C ++ Chuỗi C ++ Toán C ++ C ++ Boolean Điều kiện C ++ Chuyển đổi C ++ Vòng lặp trong khi C ++ C ++ cho vòng lặp C ++ Ngắt / Tiếp tục Mảng C ++ Tài liệu tham khảo C ++ Con trỏ C ++

Các hàm trong C ++

Các hàm trong C ++ Tham số hàm trong C ++ Nạp chồng hàm trong C ++

Các lớp C ++

C ++ OOP Các lớp / đối tượng C ++ Phương thức lớp C ++ Trình tạo C ++ Bộ chỉ định quyền truy cập C ++ Đóng gói C ++ Kế thừa C ++ Tính đa hình của C ++ Tệp C ++ Ngoại lệ C ++

C ++ Làm thế nào để

Thêm hai số

Ví dụ về C ++

Ví dụ về C ++ Trình biên dịch C ++ Bài tập C ++ C ++ Quiz


Trình tạo C ++


Người xây dựng

Một phương thức khởi tạo trong C ++ là một phương thức đặc biệt được gọi tự động khi một đối tượng của một lớp được tạo.

Để tạo một phương thức khởi tạo, hãy sử dụng cùng tên với lớp, theo sau là dấu ngoặc đơn ():

Thí dụ

class MyClass {     // The class
  public:           // Access specifier
    MyClass() {     // Constructor
      cout << "Hello World!";
    }
};

int main() {
  MyClass myObj;    // Create an object of MyClass (this will call the constructor)
  return 0;
}

Lưu ý: Hàm tạo có cùng tên với lớp, nó luôn luôn như vậy public, và nó không có bất kỳ giá trị trả về nào.


Tham số cấu tạo

Các hàm tạo cũng có thể nhận các tham số (giống như các hàm thông thường), có thể hữu ích cho việc thiết lập các giá trị ban đầu cho các thuộc tính.

Lớp sau có brand, modelyearcác thuộc tính, và một phương thức khởi tạo với các tham số khác nhau. Bên trong hàm tạo, chúng tôi đặt các thuộc tính bằng với các tham số của hàm tạo ( brand=x, v.v.). Khi chúng ta gọi hàm tạo (bằng cách tạo một đối tượng của lớp), chúng ta truyền các tham số cho hàm tạo, nó sẽ đặt giá trị của các thuộc tính tương ứng thành như nhau:

Thí dụ

class Car {        // The class
  public:          // Access specifier
    string brand;  // Attribute
    string model;  // Attribute
    int year;      // Attribute
    Car(string x, string y, int z) { // Constructor with parameters
      brand = x;
      model = y;
      year = z;
    }
};

int main() {
  // Create Car objects and call the constructor with different values
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Print values
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}

Cũng giống như các hàm, các hàm tạo cũng có thể được định nghĩa bên ngoài lớp. Đầu tiên, khai báo hàm tạo bên trong lớp, sau đó định nghĩa nó bên ngoài lớp bằng cách chỉ định tên của lớp, tiếp theo là toán tử phân giải phạm vi :: , tiếp theo là tên của hàm tạo (giống với lớp):

Thí dụ

class Car {        // The class
  public:          // Access specifier
    string brand;  // Attribute
    string model;  // Attribute
    int year;      // Attribute
    Car(string x, string y, int z); // Constructor declaration
};

// Constructor definition outside the class
Car::Car(string x, string y, int z) {
  brand = x;
  model = y;
  year = z;
}

int main() {
  // Create Car objects and call the constructor with different values
  Car carObj1("BMW", "X5", 1999);
  Car carObj2("Ford", "Mustang", 1969);

  // Print values
  cout << carObj1.brand << " " << carObj1.model << " " << carObj1.year << "\n";
  cout << carObj2.brand << " " << carObj2.model << " " << carObj2.year << "\n";
  return 0;
}