<C++继承与派生>抽象基类、派生类、纯虚函数、类的头文件

您所在的位置:网站首页 纯虚函数的声明格式怎么写出来 <C++继承与派生>抽象基类、派生类、纯虚函数、类的头文件

<C++继承与派生>抽象基类、派生类、纯虚函数、类的头文件

2024-07-01 08:51| 来源: 网络整理| 查看: 265

C++面向对象程序设计课程的作业,初学者,很多地方做的不好,欢迎指正。

定义抽象基类 Container, 由它派生出 3 个派生类:Sphere(球体),Cylinder(圆柱体)、Cube(正方体),用虚函数分别计算几种图形的表面积和体积。要求每个类的头文件和成员方法实现文件分开。

类的头文件:(存为“Class.h”文件)

#ifndef _Class_H_ #define _Class_H_ class Container { public: Container(); virtual double getArea()=0; virtual double getVolume()=0; }; class Sphere:public Container { public: Sphere(const double &r); double getArea(); double getVolume(); private: double r; }; class Cylinder:public Container { public: Cylinder(const double &r,const double &h); double getArea(); double getVolume(); private: double r,h; }; class Cube:public Container { public: Cube(const double &h); double getArea(); double getVolume(); private: double h; }; #endif

存为“main.cpp”文件: 

#include #include"Class.h" //类的头文件 using namespace std; #define PI 3.141592 Container::Container(){} Sphere::Sphere(const double &r) {this->r=r;} double Sphere::getArea() { return 4*PI*r*r; } double Sphere::getVolume() { return 4/3*PI*r*r*r; } Cylinder::Cylinder(const double &r,const double &h) {this->r=r;this->h=h;} double Cylinder::getArea() { return 2*PI*r*r+2*PI*r*h; } double Cylinder::getVolume() { return PI*r*r*h; } Cube::Cube(const double &h) {this->h=h;} double Cube::getArea() { return 6*h*h; } double Cube::getVolume() { return h*h*h; } int main() { /* //使用1测试 Sphere ball(1); Cylinder column(1,1); Cube cub(1); cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3