Menu
CoddyTech

C++ 面向对象编程简介

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

面向对象编程会将代码组织成类,把数据和行为组合在一起。

一个包含公有成员的简单类

class Dog {
public:
    std::string name;
    int age;
    
    std::string bark() {
        return name + " says Woof!";
    }
};

创建和使用对象

Dog dog;
dog.name = "Buddy";
dog.age = 3;

std::cout << dog.bark() << std::endl;

输出:

Buddy says Woof!

类定义了结构:它保存什么数据,以及可以执行什么操作。对象是你创建并使用的一个具体实例。public: 下的成员可以从任何地方访问。

在项目中,类通常放在头文件(Dog.h)中,头文件只声明它的方法,而方法体放在 .cpp 文件中。每个方法名前面都要写上类名和 ::(作用域解析运算符):

// Dog.h
#include <string>

class Dog {
public:
    std::string name;
    std::string bark();   // 仅声明
};

// Dog.cpp
#include "Dog.h"

std::string Dog::bark() {
    return name + " says Woof!";
}
challenge icon

挑战

简单

创建一个包含公有成员和方法的 Dog 类:

  • 公有成员:name(字符串)和 age(int)
  • bark():返回 "<name> says Woof!"
  • info():返回 "<name> is <age> years old"

亲手试试

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

int main() {
    std::string name;
    int age;
    std::getline(std::cin, name);
    std::cin >> age;
    
    Dog dog;
    dog.name = name;
    dog.age = age;
    
    std::cout << dog.bark() << std::endl;
    std::cout << dog.info() << std::endl;
    return 0;
}
quiz icon自我测试

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

面向对象编程中的所有课

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