注册 登录
编程论坛 C++教室

关于类的程序编写问题~急求讲解

ysj19901101 发布于 2010-04-16 14:44, 832 次点击
1. 建立类cylinder, cylinder类的构造函数被传递了2个double值,分别表示圆柱体的半径和高度。用该类计算圆柱体的体积,并存储在一个double变量中。并包含一个成员函数专门用来显示该圆柱体对象的体积。

2. 编写main函数来验证该类的各个成员函数。

 3. 给类cylinder增加析构函数和拷贝构造函数,并在main函数中验证拷贝构造函数的作用,以及析构函数将在什么时间调用。
这是我的头文件
#include <iostream.h>
const PI=3.14
class cylinder
{
private:   
    double radius;
    double high;
public:
    cylinder(double r,double h);   
    {   
        radius=r;
        high=h;
    }
    ~cylinder();
    double area()
{   
        return(PI*radius*radius*high);
}
};
这是源文件
#include "program1.h"
cylinder::cylinder()
{
    radius=" ";
    height=" ";
    cout<<"构造函数被调用"<<endl;
};
cylinder::cylinder(double r,double h)
{
    radius=new double()
};
cylinder::~cylinder()
{
    cout<<"析构函数被调用"<<endl;

};


void main()
{    cylinder A(2.00,3.00);
    A.area();
    cout<<"radius="<<radius<<endl;
    cout<<"height="<<height<<endl;
    cout<<"area="<<area()<<endl;
};
其中有些程序没写完,请各位高手帮忙,初学者。。

[ 本帖最后由 ysj19901101 于 2010-4-16 14:50 编辑 ]
5 回复
#2
秀痘魔导士2010-04-16 15:22
radius=new double();
在析构中添加delete radius
#3
秀痘魔导士2010-04-16 15:24
程序代码:
void main()
{
    cylinder A(2.00,3.00);
    cout<<"radius="<<A.radius<<endl;
    cout<<"height="<<A.height<<endl;
    cout<<"area="<<A.area()<<endl;
};
还有,radius和height是private,你最好重载输出方法,不然就把他们都定位public
#4
南国利剑2010-04-16 23:32
回复 3楼 秀痘魔导士
英雄所见略同。顶版主
#5
ysj199011012010-04-17 00:30
看不懂你说的。。能不能把完整的程序发给我俄。重新编译一下,
#6
pangding2010-04-17 10:51
我看你写的也很混乱,你构造函数里写的:
radius = "";
这是什么意思?
1