简洁版C++类说明
C++ 类(Class)简明教程
类(Class) 是 C++ 的核心概念,用于封装 数据(成员变量) 和 操作(成员函数),实现面向对象编程(OOP)。
1. 类的基本结构
class ClassName {
private: // 私有成员(仅类内可访问)int privateVar;void privateFunc() {}protected: // 保护成员(类内和派生类可访问)int protectedVar;void protectedFunc() {}public: // 公有成员(任何地方可访问)int publicVar;void publicFunc() {}// 构造函数(初始化对象)ClassName() {privateVar = 0;}// 析构函数(清理资源)~ClassName() {delete[] buffer; // 示例:释放动态内存}
};
private
(默认):仅类内可访问。protected
:类内和派生类可访问。public
:任何代码可访问。
2. 核心概念
(1) 构造函数(Constructor)
- 用于初始化对象,名称与类相同,无返回值。
- 默认构造函数:无参数,如
ClassName()
。 - 带参数构造函数:如
ClassName(int x, int y)
。 - 初始化列表:高效初始化成员变量。
class Point { private:int x, y; public:Point(int a, int b) : x(a), y(b) {} // 初始化列表 };
(2) 析构函数(Destructor)
- 用于释放资源(如内存、文件句柄),名称是
~ClassName()
。 - 对象销毁时自动调用。
~ClassName() {delete[] buffer; // 释放动态数组 }
(3) 成员函数(Methods)
- 定义在类内的函数,可操作成员变量。
const
成员函数:承诺不修改对象状态。int getValue() const { return privateVar; }
(4) 访问控制(Access Control)
访问修饰符 | 类内 | 派生类 | 外部代码 |
---|---|---|---|
private | ✅ | ❌ | ❌ |
protected | ✅ | ✅ | ❌ |
public | ✅ | ✅ | ✅ |
3. 对象(Object)的创建与使用
ClassName obj; // 默认构造
ClassName obj2(10, "Hello"); // 带参数构造
obj.publicFunc(); // 调用成员函数
obj.publicVar = 5; // 访问公有变量
4. 特殊成员函数(C++11 起)
- 拷贝构造函数:
ClassName(const ClassName& other)
- 移动构造函数:
ClassName(ClassName&& other)
- 拷贝赋值运算符:
ClassName& operator=(const ClassName& other)
- 移动赋值运算符:
ClassName& operator=(ClassName&& other)
5. 类 vs 结构体(class
vs struct
)
class
:默认成员是private
。struct
:默认成员是public
(通常用于纯数据存储)。
6. 示例代码
#include <iostream>
using namespace std;class Student {
private:string name;int age;public:// 构造函数Student(string n, int a) : name(n), age(a) {}// 成员函数void display() const {cout << "Name: " << name << ", Age: " << age << endl;}
};int main() {Student stu("Alice", 20);stu.display(); // 输出: Name: Alice, Age: 20return 0;
}
总结
特性 | 说明 |
---|---|
封装 | 通过 private /protected 隐藏实现细节。 |
构造函数 | 初始化对象,支持初始化列表。 |
析构函数 | 清理资源(如释放内存)。 |
成员函数 | 操作数据,可标记为 const 。 |
访问控制 | public (开放)、protected (派生类可访问)、private (仅类内)。 |
核心思想:数据 + 操作 = 类,通过访问控制实现封装,提高代码安全性和可维护性。