Menu
CoddyTech

Lớp và đối tượng

Thuộc phần Lập trình hướng đối tượng trong hành trình C++ của Coddy. Bài học 6 trên 104.

Lớp (class) là bản thiết kế xác định cấu trúc. Đối tượng (object) là một instance cụ thể được tạo từ bản thiết kế đó.

Lớp (bản thiết kế)

class Car {
public:
    std::string brand;
    int year;
    
    std::string getInfo() {
        return brand + " (" + std::to_string(year) + ")";
    }
};

Tạo nhiều đối tượng (instance)

Car car1;
car1.brand = "Tesla";
car1.year = 2023;

Car car2;
car2.brand = "Honda";
car2.year = 2020;

std::cout << car1.getInfo() << std::endl;  // Tesla (2023)
std::cout << car2.getInfo() << std::endl;  // Honda (2020)

Mỗi đối tượng (object) hoạt động độc lập. Việc thay đổi car1 không ảnh hưởng đến car2. Bạn có thể tạo nhiều đối tượng từ cùng một lớp (class), mỗi đối tượng lưu dữ liệu riêng.

challenge icon

Thử thách

Trung bình

Tạo một lớp Car (bản thiết kế). Chương trình tạo hai đối tượng (instance) riêng biệt từ lớp này, mỗi đối tượng có dữ liệu riêng:

  • Thành viên public: brand (chuỗi), year (int)
  • getInfo(): trả về "<brand> (<year>)"

Tự làm thử

#include <iostream>
#include "Car.h"

int main() {
    std::string brand1, brand2;
    int year1, year2;
    
    std::getline(std::cin, brand1);
    std::cin >> year1;
    std::cin.ignore();
    std::getline(std::cin, brand2);
    std::cin >> year2;
    
    Car car1;
    car1.brand = brand1;
    car1.year = year1;
    
    Car car2;
    car2.brand = brand2;
    car2.year = year2;
    
    std::cout << "Car 1: " << car1.getInfo() << std::endl;
    std::cout << "Car 2: " << car2.getInfo() << std::endl;
    return 0;
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch C++ online