Menu
CoddyTech

类与对象

本课属于 Coddy C++ 学习旅程的“面向对象编程”单元。第 6 课,共 104 课。

类是定义结构的蓝图。对象是根据该蓝图创建的具体实例。

类(蓝图)

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

创建多个对象(实例)

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)

每个对象都是独立的。更改 car1 不会影响 car2。你可以从同一个类创建多个对象,每个对象都保存自己的数据。

challenge icon

挑战

中等

创建一个 Car 类(蓝图)。程序会根据它创建两个独立的对象(实例),每个对象都有自己的数据:

  • 公共成员:brand(字符串)、year(int)
  • getInfo():返回 "<brand> (<year>)"

亲手试试

#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 icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: C++ 在线编译器