Z
ZHANK
面向对象

类与对象

class 定义、public/private 访问控制、成员函数、this 指针

类与对象

class 是 C++ 的核心——封装数据和操作,用 public/private 控制访问权限。

学完本章你将: 掌握 class 定义、访问控制、成员函数、this 指针。


第一个类

cpp
#include <iostream>
#include <string>

class Student {
private:          // 默认就是 private
    std::string name;
    int age;
    double score;

public:
    // 设置器(setter)
    void setName(const std::string &n) { name = n; }
    void setAge(int a) { age = a; }
    void setScore(double s) { score = s; }

    // 访问器(getter)
    std::string getName() const { return name; }
    int getAge() const { return age; }
    double getScore() const { return score; }

    // 业务方法
    void print() const {
        std::cout << name << ",年龄:" << age
                  << ",成绩:" << score << "\n";
    }
};

int main() {
    Student s;
    s.setName("小明");
    s.setAge(20);
    s.setScore(92.5);
    s.print();

    return 0;
}

访问控制

关键字可访问范围
private只有本类成员和友元
protected本类 + 子类
public所有人

const 成员函数

cpp
class Counter {
    int value = 0;
public:
    void increment() { value++; }         // 非 const:修改成员
    int getValue() const { return value; }// const:不修改成员
};

void read(const Counter &c) {
    // c.increment();  // ❌ const 对象不能调用非 const 函数
    int v = c.getValue();  // ✅
}

💡 const 成员函数承诺不修改成员变量。这是 C++ 保证正确性的重要手段。