文档介绍:贵州大学实验报告学院:电子信息学院专业:通信工程班级: 姓名学号实验组 5 实验时间指导教师成绩实验项目名称多态性实验目的通过让学生进行实验, 使其对于动态多态性有一个较为深入的了解和熟悉。最终可以熟练使用。实验要求 1. 编写 4 个重载函数 Double (x), 返回值为输入参数的两倍; 参数类型分别为 int 、 long 、 float 、 double ,返回值类型与参数类型一样。 2. 请编写一个抽象类 Shape ,在此基础上派生出类 Rectangle 和 Circle ,二者都有计算对象面积的函数 GetArea ()和计算周长函数 GetPerim ()。 3. 对类 Point 重载++ (自增)、-- (自减)运算符。实验原理 Visual C++ 的编译环境下,独立完成实验要求的内容,独立完成编写、编译以及运行的过程实验仪器安装了 Visual C++ 的 PC 机器实验步骤按照实验要求的内容逐一完成实验的要求。顺序是编写、编译、运行。实验内容 1. 编写 4 个重载函数 Double (x), 返回值为输入参数的两倍; 参数类型分别为 int 、 long 、 float 、 double ,返回值类型与参数类型一样。 2. 请编写一个抽象类 Shape , 在此基础上派生出类 Rectangle 和 Circle , 二者都有计算对象面积的函数 GetArea ()和计算周长函数 GetPerim ()。 3. 对类 Point 重载++ (自增)、-- (自减)运算符。实验数据 1、代码如下: #include<iostream> using namespace std; int Double(int x); long Double(long x); float Double(float x); double Double(double x); int main() { int myInt = 6500; cout<<Double(myInt)<<endl; long myLong = 65000; cout<<Double(myLong)<<endl; float myFloat = ; cout<<Double(myFloat)<<endl; double myDouble = ; cout<<Double(myDouble)<<endl;} int Double(int x){ return 2*x;} long Double(long x){ return 2*x;} float Double(float x){ return 2*x;} double Double(double x){ return 2*x;} 运行结果: 2、代码: #include<iostream> #define PI ; using namespace std; class Shape // 抽象类的定义{ public: virtual double GetArea() = 0; // 纯虚函数 virtual double GetPerim() = 0; // 纯虚函数}; class Rectangle : public Shape // 矩形类,公有继承{ public: Rectan