福建师范大学C语言第一次作业及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;}

};

相关文档
最新文档