C++程序设计求助
考课本例子,建立一个源程序文件,在此文件中建立一个新的类,将新建的类命名为Rect。class Rect
{
public:
int Area_int();
double Area_double();
Rect(double length,double width);
Rect(int length,int width);
virtual ~Rect();
Private:
int nLength;
int nWidth;
double dLength;
double dWidth;
};
【要求】
(1)向Rect类中添加数据成员及成员函数,并完善成员函数的功能。如设计一个Area_int()函数,计算边长为整型的长方形的面积;设计一个Area_double()函数,计算边长为double型的长方形的面积。
(2)重载构造函数。一种构造函数用整型变量记录长方形的长和宽,另一种构造函数用double型记录。
(3)体现对象的构造和析构过程。例如,在构造函数中用cout<<”I am the constructor!”<<endl;在析构函数中输出cout<<”I am the destructor”<<endl。
(4)在main()函数中定义两个Rect类的对象,一个对象用实例实现(就像定义普通的变量一样),另一个对象用指针实现(利用关键字new,给指针分配内存空间)。并用不同的参数,以调用不同的构造函数体现构造函数的重载。
这是我的程序:
#include<iostream>
#include<string>
using namespace std;
class Rect
{
public:
int Area_int()
{
int Area;
Area=nLength*nWidth;
cout<<"边长为整型的长方形的面积:"<<Area<<endl;
return Area;
}
double Area_double()
{
double Area;
Area=nLength*nWidth;
cout<<"边长为双精度型的长方形的面积:"<<Area<<endl;
return Area;
}
Rect(double length,double width)
{
dLength=length;
dWidth=width;
cout<<"I am constructor!"<<endl;
}
Rect(int length,int width)
{
nLength=length;
nWidth=width;
cout<<"I am constructor!"<<endl;
}
virtual ~Rect()
{
cout<<"I am the destructor!"<<endl;
}
private:
int nLength;
int nWidth;
double dLength;
double dWidth;
};
int main()
{
Rect a1(4,6);
Rect *a2=new Rect(1.5,2.0);
a1.Area_int();
a2->Area_double();
return 0;
}
但是运行之后双精度的输出来有问题,该怎么改?