答案-c++面向对象程序设计课后习题答案(谭浩强版)

2026/4/29 2:21:41

#include using namespace std;

class Teacher //教师类 {public:

Teacher(int,char [],char); //声明构造函数

void display(); //声明输出函数 private: int num;

char name[20]; char sex; };

Teacher::Teacher(int n,char nam[],char s) //定义构造函数 {num=n;

strcpy(name,nam); sex=s; }

void Teacher::display() //定义输出函数 {cout<<\ cout<<\ cout<<\}

class BirthDate //生日类 {public:

BirthDate(int,int,int); //声明构造函数 void display(); //声明输出函数 void change(int,int,int); //声明修改函数 private: int year; int month; int day; };

BirthDate::BirthDate(int y,int m,int d) //定义构造函数 {year=y; month=m; day=d; }

void BirthDate::display() //定义输出函数 {cout<<\

void BirthDate::change(int y,int m,int d) //定义修改函数 {year=y; month=m; day=d; }

class Professor:public Teacher //教授类 {public:

Professor(int,char [],char,int,int,int,float); //声明构造函数

void display(); //声明输出函数 void change(int,int,int); //声明修改函数 private: float area;

BirthDate birthday; //定义BirthDate类的对象作为数据成员 };

Professor::Professor(int n,char nam[20],char s,int y,int m,int d,float a): Teacher(n,nam,s),birthday(y,m,d),area(a){ } //定义构造函数

void Professor::display() //定义输出函数 {Teacher::display(); birthday.display();

cout<<\}

void Professor::change(int y,int m,int d) //定义修改函数 {birthday.change(y,m,d); }

int main()

{Professor prof1(3012,\ //定义Professor对象prof1 cout<

prof1.display(); //调用prof1对象的display函数 cout<

prof1.change(1950,6,1); //调用prof1对象的change函数 prof1.display(); //调用prof1对象的display函数 return 0; }

第六章

1:

//xt6-1/cpp

#include //如用VC++应改为∶#include using namespace std; //如用VC++应取消此行 #include \#include \#include \#include \int main()

{Cylinder cy1(3.5,6.4,5.2,10);

cout<<\<

cout<<\ Point &pRef=cy1;

cout<<\ Circle &cRef=cy1;

cout<<\ return 0; }

3:解法一

#include using namespace std; class Point

{public:

Point(float a,float b):x(a),y(b){}

~Point(){cout<<\ private: float x; float y; };

class Circle:public Point {public:

Circle(float a,float b,float r):Point(a,b),radius(r){}

~Circle(){cout<<\ private:

float radius; };

int main()

{Point *p=new Circle(2.5,1.8,4.5);

delete p; return 0; }

3:解法二

#include using namespace std; class Point {public:

Point(float a,float b):x(a),y(b){}

~Point(){cout<<\ private: float x; float y; };

class Circle:public Point {public:

Circle(int a,int b,int r):Point(a,b),radius(r){}

~Circle(){cout<<\ private:

float radius; };

int main()

{Point *p=new Circle(2.5,1.8,4.5); Circle *pt=new Circle(2.5,1.8,4.5); delete pt; return 0; }

3:解法三

#include using namespace std; class Point {public:

Point(float a,float b):x(a),y(b){}

virtual ~Point(){cout<<\ private: float x; float y; };

class Circle:public Point {public:

Circle(float a,float b,float r):Point(a,b),radius(r){}


答案-c++面向对象程序设计课后习题答案(谭浩强版).doc 将本文的Word文档下载到电脑
搜索更多关于: 答案-c++面向对象程序设计课后习题答案(谭浩强版) 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219