跳转到主要内容
模块 4 · 第 1 课(共 2)课程中的9/18~12 min
模块课程(1/2)

类和对象

面向对象编程(OOP)是 C++ 的核心范例。它允许将数据和函数分组到称为类的单个实体中。

类充当蓝图,而对象是该类的具体实例。

class 的基本语法

在 C++ 中,您使用 class 关键字。与其他一些语言不同,在 C++ 中,类定义必须以分号 ; 结尾:

C++
#include <iostream>
#include <string>

class Player {
    // By default, all members of a class are private
private:
    std::string name;
    int score = 0;

public:
    // Public methods to access or modify private data
    void setName(std::string newName) {
        name = newName;
    }

    void addScore(int points) {
        score += points;
    }

    void display() {
        std::cout << name << " has " << score << " points!" << std::endl;
    }
};

int main() {
    Player p; // Creating an object of type Player
    p.setName("Marco");
    p.addScore(15);
    p.display();
    return 0;
}

访问说明符:public 和 private

封装包括隐藏对象的内部实现细节并仅公开受控接口。

C++ 使用访问说明符管理此控制:

  • private:成员只能在类本身的成员函数内部访问。
  • private 是类的默认访问级别。
  • public:可以从类之外的任何地方访问成员。

自己尝试一下

锻炼#cpp.m4.l1.e1
尝试:0加载中...

定义一个名为 Rectangle 的类,该类具有两个私有整数成员:宽度和高度。添加一个公共方法 void setDimensions(int w, int h) 来设置它们,以及一个返回 width * height 的方法 int getArea() 。在 main 中,创建一个矩形,将其尺寸设置为 5 和 4,然后打印面积。

正在加载编辑器...
显示提示

使用访问说明符“private:”和“public:”。请记住在大括号后用分号“;”结束类。

3 次尝试后可用的解决方案

锻炼#cpp.m4.l1.e2
尝试:0加载中...

定义一个名为 Counter 的类,其私有成员 count 初始化为 0。添加公共方法 voidincrement() 和 int getCount()。在 main 中,创建一个 Counter 对象,将其递增两次,然后打印该值。

正在加载编辑器...
显示提示

在 C++ 现代中,我初始化了类:`int count = 0;`。

3 次尝试后可用的解决方案