Area_int()函数,计算边长为整型的长方形的面积;设计一个Area_double()函数,计算边长为double型的长方形的面积。
(2)重载构造函数。一种构造函数用整型变量记录长方形的长和宽,另一种构造函数用double型记录。
(3)体现对象的构造和析构过程。例如,在构造函数中用cout<<”I am the constructor!”< (4)在main()函数中定义两个Rect类的对象,一个对象用实例实现(就像定义普通的变量一样),另一个对象用指针实现(利用关键字new,给指针分配内存空间)。并用不同的参数,以调用不同的构造函数体现构造函数的重载。 # include int Area_int(); double Area_double(); Rect(double l, double w); Rect(int l,int w); private: }; Rect::Rect(int l,int w){ } Rect::Rect(double l,double w){ dLength=l; 共29 页,第 16页 int nLength; int nWidth; double dLength; double dWidth; nLength=l; nWidth=w; } int Rect::Area_int(){ } double Rect::Area_double(){ } void main(){ Rect r1(20,8); return dLength*dWidth; return nLength*nWidth; dWidth=w; Rect r2(20.0,8.0); Rect r3(); Rect *pt; pt=new Rect(100,300); cout<<\面积三\cout< cout<<\面积一\ cout<<\面积二\ } cout< 共29 页,第 17页 4、声明一个Student,在该类中包括一个数据成员score(分数)、两个静态数据成员total_score(总分)和count(学生人数);还包括一个成员函数account()用于设置分数、累计学生的成绩之和、累计学生人数,一个静态成员函数sum()用于返回学生的成绩之和,另一个静态成员函数average()用于求全班成绩的平均值。在main()函数中,输入某班学生的成绩,并调用上述函数求出全班学生的成绩之和和平均分。 #include void account(int x) { score=x; total_score+=score; count+=1; } static int sum() { return total_score; } 共29 页,第 18页 static int average() { return (double)total_score/count; } private: int score; static int total_score; static int count; }; int Student::total_score=0; int Student::count=0; int main() { Student a[5]; int i=0; int j; for(i=0;i<5;i++) { cout<<\输入第\个人的成绩:\cin>>j; a[i].account(j); cout< cout<<\总分为:\cout<<\平均分:\} 共29 页,第 19页 5、设计一个用来表示直角坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A的坐标点在第3象限,B的坐标点在第2象限,分别采用成员函数和友元函数计算给定两个坐标点之间的距离,要求按如下格式输出结果: A(x1,y1),B(x2,y2) Distance=d 其中:x1、y1、x2、y2为指定的坐标值,d为两个坐标点之间的距离。 #include Location(double,double); double getx(); double gety(); double distance(Location &); friend double distance(Location & , Location &); private: double x,y; }; Location::Location(double r,double i) 共29 页,第 20页