C++面向对象编程:继承与派生实例详解

需积分: 9 1 下载量 138 浏览量 更新于2024-08-24 收藏 3.36MB PPT 举报
这段代码是C++程序设计的一个实例,展示了如何创建一个名为`Graduate`的派生类,它是`Student`类的子类。在谭浩强编著的《C++程序设计》教材中,面向对象编程是核心内容之一。以下是关键知识点的详细解析: 1. **声明公用派生类**: `Graduate`类通过`public`关键字继承自`Student`类,这意味着`Graduate`类将拥有`Student`类的所有公共成员(包括成员变量和成员函数)。这种继承模式称为"公有继承",允许派生类直接访问基类的所有公共属性。 2. **构造函数**: - `Graduate(int n, string nam, float s, float p)` 是一个构造函数,接受四个参数:整数编号、字符串姓名、浮点数分数和浮点数工资。它初始化`Student`类的成员(`num`, `name`, 和 `score`),并设置派生类特有的成员变量`pay`。 3. **成员函数**: - `void display()` 是一个成员函数,用于输出`Graduate`对象的信息,包括编号、姓名、分数和工资。 4. **对象实例化**: - 在`main`函数中,分别创建了一个`Student`类型的对象`stud1`和一个`Graduate`类型的对象`grad1`。通过`Student *pt=&stud1;`定义了一个指向`Student`对象的指针,然后通过`pt=&grad1;`改变指针指向,展示了对象之间的继承关系。 5. **面向对象特性**: - C++支持面向对象编程,C++从C语言发展而来,不仅保留了C语言的结构化编程能力,还增加了面向对象特性,如继承、多态性和封装。这段代码演示了如何利用这些特性来组织和扩展代码。 6. **继承与派生**: - `Graduate`类是对`Student`类的派生,通过继承实现了代码的复用和扩展,使得`Graduate`对象除了`Student`的属性外,还可以有自己的特有属性(如`pay`)。 7. **C++语言特点**: - C++作为一种混合型语言,允许开发者根据需求选择面向过程或面向对象的方式编写程序,这增加了程序的灵活性和可维护性。 这段代码展示了在C++中如何创建和使用派生类,并展示了面向对象编程的基本概念,包括继承和成员函数的使用。通过学习这样的实例,读者可以更好地理解C++程序设计中的面向对象编程思想。