用c++写一个正方体体积求法
时间: 2023-10-16 12:07:49 浏览: 35
#include <iostream>
using namespace std;
int main() {
double side, volume;
cout << "Enter the length of a side of the cube: ";
cin >> side;
volume = side * side * side;
cout << "The volume of the cube is: " << volume << endl;
return 0;
}
相关问题
用c++6.0编写程序,调用自己编写的求体积函数,计算一个正方体的体积
假设你已经编写了一个求正方体体积的函数 `double cubeVolume(double sideLength)`,下面是一个示例程序来调用该函数:
```cpp
#include <iostream>
// 自己编写的求正方体体积函数
double cubeVolume(double sideLength) {
return sideLength * sideLength * sideLength;
}
int main() {
double sideLength = 5.0; // 正方体边长为5.0
double volume = cubeVolume(sideLength);
std::cout << "正方体体积为:" << volume << std::endl;
return 0;
}
```
在上面的程序中,我们首先定义了一个求正方体体积的函数 `cubeVolume`,然后在 `main` 函数中调用该函数来计算正方体的体积,最后输出结果。运行程序,输出结果为:
```
正方体体积为:125
```
用c++写一个程序,定义抽象基类Container,由它派生出3个派生类,Sphere(球体)、Cylinder(圆柱体)、Cube(正方体)。用虚函数分别计算几种图形的表面积和体积
好的,下面是 C++ 代码实现:
```c++
#include <iostream>
using namespace std;
// 抽象基类 Container
class Container {
public:
virtual double getSurfaceArea() = 0; // 计算表面积的虚函数
virtual double getVolume() = 0; // 计算体积的虚函数
};
// 派生类 Sphere(球体)
class Sphere : public Container {
public:
Sphere(double r) : radius(r) {}
double getSurfaceArea() { return 4 * 3.14159 * radius * radius; } // 计算表面积
double getVolume() { return 4.0 / 3.0 * 3.14159 * radius * radius * radius; } // 计算体积
private:
double radius; // 球体半径
};
// 派生类 Cylinder(圆柱体)
class Cylinder : public Container {
public:
Cylinder(double r, double h) : radius(r), height(h) {}
double getSurfaceArea() { return 2 * 3.14159 * radius * height + 2 * 3.14159 * radius * radius; } // 计算表面积
double getVolume() { return 3.14159 * radius * radius * height; } // 计算体积
private:
double radius; // 圆柱体底面半径
double height; // 圆柱体高
};
// 派生类 Cube(正方体)
class Cube : public Container {
public:
Cube(double a) : sideLength(a) {}
double getSurfaceArea() { return 6 * sideLength * sideLength; } // 计算表面积
double getVolume() { return sideLength * sideLength * sideLength; } // 计算体积
private:
double sideLength; // 正方体边长
};
int main() {
Container* c1 = new Sphere(2.0);
Container* c2 = new Cylinder(2.0, 3.0);
Container* c3 = new Cube(2.0);
cout << "球体表面积:" << c1->getSurfaceArea() << ",体积:" << c1->getVolume() << endl;
cout << "圆柱体表面积:" << c2->getSurfaceArea() << ",体积:" << c2->getVolume() << endl;
cout << "正方体表面积:" << c3->getSurfaceArea() << ",体积:" << c3->getVolume() << endl;
delete c1;
delete c2;
delete c3;
return 0;
}
```
上面的代码中,抽象基类 Container 定义了纯虚函数 getSurfaceArea() 和 getVolume(),由三个派生类 Sphere、Cylinder 和 Cube 分别实现了这两个函数。在主函数中,我们创建了三个不同的对象,并调用他们的表面积和体积计算函数。请注意,为了实现多态,我们使用了基类指针指向派生类对象。在程序结束时,我们需要手动删除这三个对象,以释放动态分配的内存。