C++语言基础 例程 多态性的概念
2015-05-17 11:32
453 查看
贺老师的教学链接 本课讲解
一种死板的机制
运行中的动态是这样的!
一种死板的机制
#include <iostream> #include <string> using namespace std; //声明基类Student class Student { public: Student(int, string,float);//声明构造函数 void display( ); //声明输出函数 protected: //受保护成员,派生类可以访问 int num; string name; float score; }; //Student类成员函数的实现 Student::Student(int n, string nam,float s) { num=n; //定义构造函数 name=nam; score=s; } void Student::display( ) //定义输出函数 { cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\n\n"; } //声明公用派生类Graduate class Graduate:public Student { public: Graduate(int, string, float, float); //声明构造函数 void display( ); //声明输出函数 private: float pay; }; // Graduate类成员函数的实现 void Graduate::display( ) //定义输出函数 { cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\npay="<<pay<<endl; } Graduate::Graduate(int n, string nam,float s,float p):Student(n,nam,s),pay(p) { } //主函数 int main() { Student stud1(1001,"Li",87.5); //定义Student类对象stud1 Graduate grad1(2001,"Wang",98.5,563.5); //定义Graduate类对象grad1 Student *pt=&stud1; //定义指向基类对象的指针变量pt pt->display( ); pt=&grad1; pt->display( ); return 0; }
运行中的动态是这样的!
#include <iostream> #include <string> using namespace std; //声明基类Student class Student { public: Student(int, string,float);//声明构造函数 virtual void display( ); //声明输出函数 protected: //受保护成员,派生类可以访问 int num; string name; float score; }; //Student类成员函数的实现 Student::Student(int n, string nam,float s) { num=n; //定义构造函数 name=nam; score=s; } void Student::display( ) //定义输出函数 { cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\n\n"; } //声明公用派生类Graduate class Graduate:public Student { public: Graduate(int, string, float, float); //声明构造函数 void display( ); //声明输出函数 private: float pay; }; // Graduate类成员函数的实现 void Graduate::display( ) //定义输出函数 { cout<<"num:"<<num<<"\nname:"<<name<<"\nscore:"<<score<<"\npay="<<pay<<endl; } Graduate::Graduate(int n, string nam,float s,float p):Student(n,nam,s),pay(p) { } //主函数 int main() { Student stud1(1001,"Li",87.5); //定义Student类对象stud1 Graduate grad1(2001,"Wang",98.5,563.5); //定义Graduate类对象grad1 Student *pt=&stud1; //定义指向基类对象的指针变量pt pt->display( ); pt=&grad1; pt->display( ); return 0; }
相关文章推荐
- c++基础10:继承和派生 虚函数的作用 多态性概念 纯虚函数和抽象类的概念
- C++语言基础 例程 Time类的设计
- C++语言基础 例程 C++的数据类型和运算符
- C++语言基础 例程 类的声明和对象的定义
- C++语言基础 例程 派生类成员的访问属性
- C++语言基础 例程 不同类型数据间的转换
- C/C++笔试题-主要考察C/C++语言基础概念、算法及编程,附参考答案,分享给大家。
- 【c++语言基础】虚函数的概念
- C++语言基础 例程 标准输出流
- C++语言基础 例程 范型编程简介
- C++语言基础 例程 C++中的输入和输出
- C++语言基础 例程 标准输入流
- C++语言基础 例程 应用系统开发:银行储蓄系统
- C++语言基础 例程 内置函数
- C++语言基础 例程 基于对象的程序的执行过程
- C++语言基础 例程 虚基类及应用
- C++语言基础 例程 用const实施保护
- C++语言基础 例程 文本文件的读写
- C++语言基础 例程 函数中的引用
- C++语言基础 例程 STL简介