C++面向对象编程:从C到C++与派生类

需积分: 10 0 下载量 184 浏览量 更新于2024-08-24 收藏 3.36MB PPT 举报
"谭浩强C++教程 - 面向对象编程、继承与派生" 在C++编程中,派生类是面向对象特性的重要组成部分,它允许我们创建一个新的类,该类继承自一个已存在的类,即基类。在这个例子中,派生类`Student1`是从`Student`类派生出来的。派生类可以访问基类的公共和受保护成员,并且可以添加新的数据成员和成员函数。 `Student1`类的声明如下所示: ```cpp class Student1: public Student // 以public方式声明派生类Student1 { public: void display_1() { cout << "age: " << age << endl; // 引用派生类的私有成员,正确 cout << "address: " << addr << endl; // 引用派生类的私有成员,正确 } private: int age; // 派生类增加的新私有成员 string addr; // 派生类增加的新私有成员 }; ``` 这里,`public`关键字表明`Student1`是公有派生,这意味着它可以从基类`Student`那里继承所有的公有和受保护成员。`display_1()`函数是`Student1`特有的,用于显示`Student1`对象的`age`和`addr`私有成员。 在`main`函数中,我们创建了一个`Student1`类型的对象`stud`,并可以分别调用基类`Student`的`display`函数(如果有的话)和派生类`Student1`的`display_1`函数来展示不同层面的信息: ```cpp int main() { Student1 stud; // 定义派生类Student1的对象stud // 其他代码,如对象初始化和函数调用 return 0; } ``` 在C++程序设计中,面向对象的特性包括类、对象、封装、继承和多态。这里,`Student`类可能是包含学生基本信息的基类,而`Student1`是对其进行扩展,增加了`age`和`addr`字段,使得`Student1`能够表示更具体的学籍信息。 C++程序设计的学习通常分为几个部分,例如: 1. **基本知识**:包括C++的初步知识,数据类型与表达式等,这是学习C++的基础。 2. **面向过程的程序设计**:涉及程序设计的基本概念,如函数、预处理、数组、指针和自定义数据类型。 3. **基于对象的程序设计**:讲解类和对象的概念,以及如何通过它们构建程序。 4. **面向对象的程序设计**:涵盖继承与派生,多态性与虚函数,这些都是面向对象编程的核心特性。 在C++中,从C语言演进到C++是为了应对大型软件开发的需求,C++通过引入面向对象编程提高了代码的复用性和可维护性。C++的增强体现在面向对象机制的引入和对C语言功能的扩展,使得程序员可以根据需求选择合适的编程范式。面向对象编程的核心是封装、继承和多态,这些概念有助于构建模块化的、易于理解和维护的软件系统。