⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exam4.cpp

📁 C++语言程序设计题典
💻 CPP
字号:
#include <iostream.h>
class container  //抽象类
{
protected:
	double radius;
public:
	container(double radius) 
    {
		container::radius=radius;
    }
	virtual double surface_area()=0;    //纯虚函数
	virtual double volume()=0;          //纯虚函数
};
class cube:public container  //定义正方体类
{
public:
	cube(double radius):container(radius) {};
	double surface_area() 
    { 
		return radius*radius*6; 
	}
	double volume() 
    {
        return radius*radius*radius; 
    }
};
class sphere:public container  //定义球体类
{
public:
	sphere(double radius):container(radius) {};
	double surface_area() 
    { 
		return 4*3.1416*radius*radius; 
	}
	double volume() 
    { 
        return 3.1416*radius*radius*radius*4/3; 
    }
};
class cylinder:public container  //定义圆柱体类
{
	double height;
public:
	cylinder(double radius,double height):container(radius)
	{
		cylinder::height=height;
	}
	double surface_area()
    { 
        return 2*3.1416*radius*(height+radius); 
    }
    double volume() 
    { 
       return 3.1416*radius*radius*height; 
    }
};
void main()
{
	container *p;        //定义抽象类指针p
	cube obj1(10);       //创建正方体对象obj1
	sphere obj2(6);      //创建球体对象obj2
	cylinder obj3(4,5);  //创建圆柱体对象obj3
	p=&obj1;             //指针p指向正方体对象obj1
	cout << "输出结果:" << endl;
	cout << "  正方体表面积:" << p->surface_area() << endl;
	cout << "  正方体体积:" << p->volume() << endl;
	p=&obj2;             //指针p指向球体对象obj2
	cout << "  球体表面积:" << p->surface_area() << endl;
	cout << "  球体体积:" << p->volume() << endl;
	p=&obj3;              //指针p指向圆柱体对象obj3
	cout << "  圆柱体表面积:" << p->surface_area() << endl;
	cout << "  圆柱体体积:" << p->volume() << endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -