C++派生类详解:继承方式与成员访问控制

需积分: 10 13 下载量 193 浏览量 更新于2024-08-18 收藏 8.66MB PPT 举报
"从一个基类派生一个类是C++中实现面向对象编程的重要机制,它允许我们创建新的类,这些类保留了原有基类的特性,并可以添加新的功能或修改已有行为。谭浩强的经典C++课件深入浅出地讲解了这个概念。 在C++中,派生类的定义通常遵循以下格式: ```cpp class DerivedClassName : AccessSpecifier BaseClassName { // 私有成员 private: ...; // 公有成员 public: ...; // 保护成员 protected: ...; }; ``` 这里的`DerivedClassName`是派生类的名字,`BaseClassName`是被继承的基类名称,`AccessSpecifier`指的是继承访问修饰符,用于决定基类中的哪些成员在派生类中可见。 1. **继承方式**: - **公有继承(public)**:使用`public:`关键字,基类的公有和保护成员在派生类中仍保持原有的访问权限。这意味着派生类的对象可以访问基类的所有公有和保护成员。 - **私有继承(private)**:使用`private:`关键字,基类的所有成员(包括公有和保护成员)在派生类中都变为私有,对外不可见。这通常用于实现“_is-a_”关系时,基类的一些行为对派生类内部使用,而不希望外界直接访问。 - **保护继承(protected)**:使用`protected:`关键字,基类的公有成员在派生类中变为保护成员,保护成员的可见性保持不变。这使得基类的公有成员只对派生类及其子类可见。 2. **派生类的新成员**: 派生类除了继承基类的成员外,还可以定义自己的成员变量和成员函数。这些新成员可以扩展或修改基类的功能,以适应特定需求。 3. **C++语言发展历史**: C++是由C语言发展而来,由Bjarne Stroustrup于1983年在C语言的基础上引入了面向对象的概念,如类、封装、继承和多态等。C++的出现极大地增强了软件开发的灵活性和效率,尤其是在系统级编程和大规模软件开发中。 4. **C语言的特点**: - 结构化:C语言支持结构化编程,易于理解和维护。 - 高级与汇编结合:丰富的运算符和灵活的数据结构,兼顾高级语言和低级语言的特性。 - 可移植性:C语言编写的程序可以在不同平台上轻松移植。 - 语法自由度:语法结构相对宽松,给程序员较大的自由度,但对初学者有一定挑战。 5. **C++的优势**: - 面向对象:C++引入了类和对象,支持面向对象编程,提高了代码复用性和模块化。 - 强类型:有助于发现和预防错误,提高代码安全性。 - 动态联编和多态:允许动态绑定,支持虚函数和抽象类,增强了代码的灵活性。 学习C++时,理解继承机制是至关重要的,因为它允许我们构建复杂、模块化的软件系统,同时保持代码的清晰和可维护性。谭浩强的C++课件是学习这一概念的好资源,适合初学者和有经验的开发者回顾巩固基础知识。"