面向对象程序设计期末复习题及答案1

内容发布更新时间 : 2025/7/11 20:10:46星期一 下面是文章的全部内容请认真阅读。

color=new char[strlen(c)+1];

strcpy (color, c); }

char *getcolor() { return color; } };

void main() {

roundtable rt(0.8,1.2,黑色);

cout << 圆桌属性数据: << endl;

cout << 高度: <

cout << 面积: <

cout << 颜色: <

3.编写程序,定义一个类test,其成员数据及函数要求如下:

(1)私有数据成员int data (2)构造函数两个test () 及test(int d),前者将(1)

中的数据成员data值设

为0;后者将(1)中的数据成员data设定为指定值d

(3)成员函数int setdate()能在键盘读入一个数值,然后将该数值赋给data 4.定义一个抽象类tea代表茶叶,它有1个double类型的保护数据成员cost代表种植成本,它还有一个纯虚函数price用来计算售价:double price(void)函数返回值为茶叶的售价。由tea派生出具体类blacktea(红茶),要求如下: (1)类中定义保护成员数据double o_cost,表示红茶的经营成本

(2)定义构造函数blacktea(double btc,double bto_c),将cost 和o_cost,数据成员设定为指定值

(3)重载price计算出blacktea 的售价。(假设:blacktea 售价 =(cost + o_cost)*1.2)

- 13 -

5.编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求输出这些学生数据并计算平均分。 分析:

设计一个学生类Stud,除了包括no(学号)、name(姓名)和deg(成绩)数据成员外,有两个静态变量sum和num,分别存放总分和人数,另有两个普通成员函数setdata()和disp(),分别用于给数据成员赋值和输出数据成员的值,另有一个静态成员函数avg(),它用于计算平均分。在main()函数中定义了一个对象数组用

本题程序如下:

#include #include #define N 3 class Stud { int no; char name[10]; int deg; static int num; static int sum; public:

void setdata(int n,char na[],int d) {

no=n; deg=d; strcpy(name,na); sum+=d; num++; }

static double avg() return sum/num; }

于存储输入的学生数据。 {

- 14 -

void disp() {

printf( %-5d%-8s=\\n,no,name,deg); } };

<
>>閻忕偞娲栫槐鎴﹀礂閵婏附鐎�<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi