信管14:纯虚函数示例代码
来源:互联网 发布:simon d 知乎 编辑:程序博客网 时间:2024/06/06 05:36
/* 理解纯虚函数的意义和用法 */
#include<iostream>
using namespace std;
class container{ //声明抽象类container
protected:
double radius;
public:
container(double radius1);
virtual double surface_area()=0; //纯虚函数
virtual double volume()=0;
};
container::container(double radius1)
{ radius=radius1;
}
class cube:public container //声明一个正方体派生类cube
{ public:
cube(double radius1):container(radius1)
{ }
double surface_area() //定义虚函数surface_area
{ return 6*radius*radius;
}
double volume() //定义虚函数volume
{ return radius*radius*radius;
}
};
class sphere:public container //声明一个球体派生类
{ public:
sphere(double radius1):container(radius1)
{ };
double surface_area() //纯虚函数surface_area
{ return 4*3.1416*radius*radius;
}
double volume() //纯虚函数volume
{ return 3.1416*radius*radius*radius*4/3;
}
};
class cylinder: public container //声明一个圆柱体派生类cylinder
{ double height;
public:
cylinder(double radius1,double height1):container(radius1)
{ height=height1;
}
double surface_area() //定义虚函数surface_area
{ return 2*3.1416*radius*(radius+height);
}
double volume() //定义虚函数volume
{ return 3.1416*radius*radius*height;
}
};
int main()
{ container *ptr;
cube obj1(2.0);
sphere obj2(2.0);
cylinder obj3(2.0,3.0);
ptr=&obj1;
cout<<"正方体的表面积是:"<<ptr->surface_area()<<endl;
cout<<"正方体的体积是:"<<ptr->volume()<<endl<<endl;
ptr=&obj2;
cout<<"球体表面积是:"<<ptr->surface_area()<<endl;
cout<<"球体的体积是:"<<ptr->volume()<<endl<<endl;
ptr=&obj3;
cout<<"圆柱体的表面积是:"<<ptr->surface_area()<<endl;
cout<<"圆柱体的体积是:"<<ptr->volume()<<endl;
system("pause");
return 0;
}
- 信管14:纯虚函数示例代码
- 信管14:虚函数示例代码一
- 信管14:虚函数示例代码二
- 信管14:函数重载示例
- 信管14:静态成员函数示例
- 信管14:友元函数示例
- 信管14:类的继承示例代码2
- 信管14:多重继承二义性示例代码
- 信管14:多重继承-虚基类示例代码?
- 信管14:函数模板作业8-15示例
- 信管14:静态数据成员示例
- 信管14:对象成员示例
- 信管14:多重继承示例一
- 信管14:构造函数析构函数执行顺序示例
- 信管14:前四章节课堂小测-编程示例代码
- 信管14:基类和派生类关系示例代码
- 信管14:函数模板引例
- 纯虚函数简单示例
- Java语言在软件工程课程中的应用
- tomcat源码阅读步骤六
- leetcode 日经贴,Cpp code -Construct Binary Tree from Preorder and Inorder Traversal
- java继承中静态成员变量的初始化顺序
- Java语言在计算机网络课程中的应用
- 信管14:纯虚函数示例代码
- Oracle常见错误
- setContentView剖析
- tomcat源码阅读步骤七
- ACdream 字符串专题A Gao the string! EXKMP+矩阵快速幂
- 开发无人编程即编程自动化系统,让程序员失业
- Java语言在数据库系统课程中的应用
- iOS webView获取html内容
- OpenFlow Controller和交换机工作流程