实验报告
( / 学年第学期)
班组
课程名称
面向对象程序设计及C++
实验名称
实验七多态性实验
实验日期
2013
年
5
月
17
日
指导单位
南京邮电大学计算机学院
指导教师
苗立志
学生姓名
刘少锋
班级学号
,12003314,
学院(系)
计算机
专业
软件工程
实验名称
多态性试验
指导教师
苗立志
实验类型
验证
实验学时
2
实验时间
二、实验环境(实验设备)
硬件:
软件:
实验原理及内容
一
#include<iostream>
using namespace std;
const double pi=;
double a=0;
double v=0;
class Container
{
protected:
double radius;
public:
Container(double r)
{
radius=r;
}
virtual double area()=0;
virtual double volume()=0;
virtual void print ()=0;
};
class Cube :public Container
{
public:Cube(double r):Container(r){}
double area()
{
return a=6*radius*radius;
}
double volume()
{
return v=radius*radius*radius;
}
void print()
{
cout<<"正方体的表面积:"<<a<<endl;
cout<<"正方体的体积"<<a<<endl;
}
};
class Sphere:public Container
{
public:Sphere(double r):Container(r){}
double area()
{
return a=4*pi*radius*radius;
}
double volume()
{
return v=4/3*pi*radius*radius*radius;}
void print()
{
cout<<"球的表面积:"<<a<<endl;
cout<<"球体积:"<<v<<endl;
}
};
class Cylinder:public Container
{
public:Cylinder(double r,double h):Container(r)
{
high=h;
}
double area()
{
return a=2*pi*radius*radius+pi*(2*radius)*high;
}
double volume()
{
return v=pi*radius*radius*high;
}
void print()
{
cout<<"圆柱的表面积:"<<a<<endl;
cout<<"圆柱的体积:"<<v<<endl;
}
protected : double high;
};
void main ()
{
Container*p;
Cube Cu (2);
Sphere Sp(2);
Cylinder Cy(4,5);
p=&Cu;
p->area();
p->volume();
p->print();
p=&Sp;
p->area();
p->volume();
p->print();
p=&Cy;
p->area();
p->volume();
p->print();
}
二#include<>
plex
{
private:
float real;
float imag;
public:
Complex(float r=0,float i=0)
{
real=r;
imag=i;
}
void print()
{
cout<<real<<"+"<<imag<<endl;
}
Complex operator*(Complex c1);
Complex operator/(Complex c1);
Complex operator++(int);
plex operator+(plex &c1,plex &c2);
plex opera
实验三 多态性实验C++(精选) 来自淘豆网m.daumloan.com转载请标明出处.