c++问题提问,圆柱体类

应该需要用到对象的创建和撤销,用cylinder
创建圆柱体类,这个程序整体怎么写
下午要用

img


供参考

#include <iostream>
using namespace std;

const float PI = 3.1415926;

class Circle
{
    private :
        float radius;        
    public:
        Circle()
        {
            radius = 0;
        }
        Circle(float R)
        {
            radius = R;
        }
        float area()
        {
            return PI * radius * radius;
        }
        float line()
        {
            return PI * 2 * radius;
        }
};

class Cylinder:Circle
{
    private:
        float height;
    public:
        Cylinder();
        Cylinder(float r, float h);
        ~Cylinder();
        float area();

};

Cylinder::Cylinder(float r, float h):Circle(r)
{
    height=h;
    cout << height<< endl;
}
Cylinder::~Cylinder()
{    
    cout << height<< endl;    
}
float Cylinder::area()
{
    return 2*Circle::area()+Circle::line()*height;
}


int main()
{
    Cylinder cy(1,2);
    cout << cy.area() << endl;
    system("pause");
    return 0;
}

没太明白你的意思,应该是说对Cylinder类的使用吧,创建对象和销毁对象。

#include <iostream>
using namespace std;

class Cylinder
{
public:
    Cylinder(float r, float h);
    ~Cylinder();
private:
    float m_radius;
    float m_height;
};
Cylinder::Cylinder(float r, float h)
    : m_radius(r)
    , m_height(h)
{
    cout << "创建圆柱体类对象:底面半径=" << m_radius << " 高=" << m_height << endl;
}

Cylinder::~Cylinder()
{
    cout << "撤销圆柱体类对象:底面半径=" << m_radius << " 高=" << m_height << endl;
}


int main()
{
    Cylinder *pcylinder = new Cylinder(10.5,20.4);
    delete pcylinder;
    pcylinder = nullptr;

    return 0;
}

Cylinder *pcylinder = new Cylinder(10.5,20.4); //new的时候就会调用Cylinder的构造函数
delete pcylinder;//delete时候会调用Cylinder的析构函数你代码中Circle是指的圆类么,是的话应该是在圆类中也有打印创建Circle类和销毁Circle类的