福建师范大学C语言第一次作业及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编写程序:
1.定义一个Point类来处理三维点points(x,y,z).该类有一默认的constructor,一copy
constructor, 一negate()成员函数将point的x,y和z值各乘-1, 一norm()成员函数返回该点到原点(0,0,0)的距离,一个print()成员函数显示x,y,和z的值。
#include
#include
using namespace std;
class Point{
private:
double x,y,z;
double distance;
public:
Point(double newX,double newY,double newZ){
x=newX;y=newY;z=newZ;
distance=sqrt(x*x+y*y+z*z);
}
Point(Point &p){
x=p.x;y=p.y;z=p.z;
distance=p.distance;
}
void negate(){
x*=-1;y*=-1;z*=-1;
}
double norm(){
return distance;
}
void print(){
cout<<"x="< } }; void main(){ Point dot(5,6,9); cout<<"the distance is: "< Point dot1(dot); cout<<"the distance is: "< return; } 2.定义一个Person类,它的每个对象表示一个人。数据成员必须包含姓名、出生年份、死亡年份,一个默认的构造函数,一析构函数,读取数据的成员函数,一个print()成员函数显示所有数据。 #include using namespace std; class Bdate{ private: int year; int month; int day; public: Bdate(){} ~Bdate(){cout<<"Destructor is called"< void Bprint(){ cout<<"Birthday="< } void Binput(){ cin>>year>>month>>day; } };//definition class Bdate; class Ddate{ private: int year; int month; int day; public: Ddate(){} ~Ddate(){cout<<"Destructor is called"< void Dprint(){ cout<<"Dead="< } void Dinput(){ cin>>year>>month>>day; } };//definition class Ddate; class Person{ private: char name[10]; Bdate birthday; Ddate dead; public: Person(){} ~Person(){ cout<<"Destructor is called"< } void print(){ cout<<"name="< birthday.Bprint(); dead.Dprint(); } void input(){ cin>>name; birthday.Binput(); dead.Dinput(); } }; void main(){ Person per; per.input(); per.print(); return; } 3。定义一个Shape基类,由它派生出Rectanglr和Circle类,二者都有GetArea( )函数计算对象的面积。使用Rectangle 类创建一个派生类Square。 class Shape { protected: public: double GetArea(){return 0;} }; class Rectangle : public Shape { protected: double length; double width; public: Rectangle(){} Rectangle(double l, double w){length = l;width = w;} double GetArea(){return length * width;} };