C++类:从封装到构造函数的实战指南

张开发
2026/4/4 4:32:19 15 分钟阅读
C++类:从封装到构造函数的实战指南
好的我们开始深入探讨C中“类”的基础概念与实践应用。以下内容将逐步展开一、类的基本概念在C中类Class是面向对象编程的核心用于封装数据属性和操作数据的方法成员函数。其基本语法结构如下class ClassName { private: // 私有成员仅类内可访问 public: // 公有成员外部可访问 protected: // 受保护成员派生类可访问 };二、封装数据与行为的绑定封装是类的核心特性通过访问修饰符private、public、protected控制成员的可见性。例如class BankAccount { private: double balance; // 私有属性外部无法直接修改 public: void deposit(double amount) { if (amount 0) balance amount; } double getBalance() { return balance; } };balance被隐藏只能通过公有方法deposit()和getBalance()间接访问。三、构造函数与析构函数1.构造函数用于初始化对象与类同名无返回类型class Rectangle { private: int width, height; public: Rectangle(int w, int h) : width(w), height(h) {} // 初始化列表 };初始化列表: width(w), height(h)直接初始化成员变量效率高于在函数体内赋值。2.析构函数用于释放资源名称是~ClassNameclass FileHandler { public: FileHandler(const char* filename) { file fopen(filename, r); } ~FileHandler() { if (file) fclose(file); } // 自动关闭文件 private: FILE* file; };四、成员函数与this指针1.成员函数定义可在类内声明类外定义class MathUtils { public: static int square(int x); // 声明 }; // 类外定义需加作用域解析运算符:: int MathUtils::square(int x) { return x * x; }2.this指针指向当前对象的地址用于区分同名成员变量与参数class Point { private: int x, y; public: void setX(int x) { this-x x; } // this-x表示成员变量x };五、实践示例简单的日期类class Date { private: int year, month, day; public: Date(int y, int m, int d) : year(y), month(m), day(d) {} void print() { std::cout year - month - day std::endl; } }; int main() { Date today(2023, 10, 15); today.print(); // 输出2023-10-15 return 0; }六、总结类通过封装保护数据完整性。构造函数初始化对象析构函数释放资源。this指针解决命名冲突。访问控制public/private是封装的关键。后续内容将深入探讨继承、多态、静态成员等高级特性。

更多文章