C++第六次作业_第1页
C++第六次作业_第2页
C++第六次作业_第3页
C++第六次作业_第4页
C++第六次作业_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、【3.14】1、 题目:以下程序的运行结果是(B.7,8)#includeusing namespace std;class Bpublic:B()B(int i,int j)x=i;y=j;void printb()coutx,yendl;private:int x,y;class Apublic:A()A(int I,int j);void printa();private:B c;A:A(int i,int j):c(i,j)void A:printa()c.printb();int main()A a(7,8);a.printa();return 0;2、 运行结果:【3.15】1

2、、 题目:以下程序的运行结果是(A.24)#includeusing namespace std;class Apublic:void set(int i,int j) x=i; y=j;int get_y()return y;private:int x,y;class boxpublic:void set(int l,int w,int s,int p)length=l;width=w;label.set(s,p);int get_area()return length*width;private:int length,width;A label;int main()box b;b.set(

3、4,6,1,20);coutb.get_area()endl;return 0;2、 运行结果:【3.16】1、 题目:以下程序的运行结果是(B.disp2)#includeusing namespace std;class Samplepublic:Sample(int i,int j)x=i;y=j;void disp() coutdisplendl;void disp() constcoutdisp2endl;private:int x,y;int main()const Sample a(1,2);a.disp();return 0;2、 运行结果。【3.17】1、题目:以下程序的运行

4、结果是(B.56,88)#includeusing namespace std;class Rpublic:R(int r1,int r2)R1=r1; R2=r2;void print();void print() const;private:int R1,R2;void R:print() coutR1,R2endl;void R:print() constcoutR1,R2endl;int main()R a(6,8);const R b(56,88);b.print();return 0;2、运行结果。【3.18】1、 题目:写出下面程序的运行结果。#includeusing name

5、space std;class toypublic:toy(int q,int p)quan=q;price=p;int get_quan()return quan;int get_price()return price;private:int quan,price;int main()toy op32= toy(10,20),toy(30,48),toy(50,68),toy(70,80),toy(90,16),toy(11,120),;for(int i=0;i3;i+)coutopi0.get_quan(),;coutopi0.get_price()n; coutopi1.get_qua

6、n(),; coutopi1.get_price()n;coutendl;return 0;2、运行结果。【3.19】1、 题目:写出下面程序的运行结果。#includeusing namespace std;class examplepublic:example(int n) i=n; coutConstructingn;example()coutDestructingn;int get_i()return i;private:int i;int sqr_it(example o)return o.get_i()*o.get_i();int main()example x(10);coutx

7、.get_i()endl;coutsqr_it(x)endl;return 0;2、 运行结果。【3.20】1、 题目:写出下面程序的运行结果。#includeusing namespace std;class aClasspublic:aClass()total+;aClass()total-;int gettotal()return total;private:static int total;int aClass:total=0;int main()aClass o1,o2,o3;couto1.gettotal()objects in existencen;aClass * p;p=ne

8、w aClass;if(!p)coutAllocation errorn;return 1;couto1.gettotal();coutobjects in existence after allocationn;delete p;couto1.gettotal();coutobjects in existence after deletionn;return 0;2、 运行结果:【3.21】1、 题目:写出下面程序的运行结果。#includeusing namespace std;class testpublic:test();test();private:int i;test:test()

9、i=25;for(int ctr=0;ctr10;ctr+)coutCounting atctrn;test anObject;int main()return 0;2、运行结果。【3.22】1、 题目:写出下面程序的运行结果。#includeusing namespace std;class Aint a,b;public:A()a=0;b=0;coutDefault constructor called.n;A(int i,int j)a=i;b=j;coutConstructor:a=a,b=bendl;int main()A a3;A b3=A(1,2),A(3,4),A(5,6);r

10、eturn 0;2、运行结果。【3.23】1、 题目:写出下面程序的运行结果。#includeusing namespace std;class Testprivate:int val;public:Test()coutdefault.endl;Test(int n)val=n;coutCon.endl;Test(const Test& t)val=t.val;coutCopy con.endl;int main()Test t1(6);Test t2=t1;Test t3;t3=t1;return 0;2、 运行结果【3.24】1、 题目:写出下面程序的运行结果。#includeusing

11、namespace std;class Nprivate:int A;static int B;public:N (int a)A=a;B+=a; static void f1(N m);void N:f1(N m)coutA=m.Aendl;coutB=Bendl;int N:B=0;int main()N P(5),Q(9);N:f1(P);N:f1(Q);return 0;2、运行结果。【3.25】1、 题目:写出下面程序的运行结果。#includeusing namespace std;class Mint x,y;public:M()x=y=0;M(int i,int j)x=i;y

12、=j;void copy(M*m);void setxy(int i,int j)x=i;y=j;void print()coutx,yx;y=m-y;void fun(M m1,M*m2)m1.setxy(12,15);m2-setxy(22,25);int main()M p(5,7),q;q.copy(&p);fun(p,&q);p.print();q.print();return 0;2、运行结果。【3.26】1、 题目:写出下面程序的运行结果。#includeusing namespace std;class Mint A;static int B;public:M(int a)A=

13、a;B+=a;coutConstructing.endl;static void f1(M m);M()coutDestructingn;void M:f1(M m)coutA=m.Aendl;coutB=Bendl;int M:B=0;int main()M P(5),Q(10);M:f1(P);M:f1(Q);return 0;2、运行结果。【3.27】1、 指出下列程序中的错误,并说明为什么。#includeusing namespace std;class Studentpublic:void printStu();private:char name10;int age;float a

14、ver;int main()Student p1,p2,p3;p1.age=30; /不能在类外直接访问类的私有成员。 但是可以通过set成员函数访问。return 0;2、 运行报错【3.28】1、指出下列程序中的错误,并说明为什么。#includeusing namespace std;class Studentint sno;int age;void printStu(); /没有指定类的成员函数属于私有还是公有时,函数属于私有。void setSno(int d);void printStu() /在类声明之外定义类的成员函数格式错误,应该是 /void Student:printSt

15、u()coutnSno issno,;coutage isage.endl;void setSno(int s)sno=s;void setAge(int a) /类声明中没有声明这个函数,因为age是Student类的私有成员,/不能在类外进行访问。但是可以将这个函数在类中声明,对age/进行访问。age=a;int main()Student lin;lin.setSno(20021); /没有定义成功,所以无法引用。lin.setAge(20); /没有定义成功,所以无法引用。lin.printStu(); /没有定义成功,所以无法引用。return 0; /程序最后加入一条语句,mai

16、n函数应该返回一个值。2、 运行报错。【3.29】1、 指出下列程序中的错误,并说明为什么。#includeusing namespace std;class Pointpublic:int x,y;private:Point() /构造函数声明为私有访问级别,这样做无法创建该类的任何实例, /要创建对象,就不能通过原来的方法来创建了。因为构造函数是私有的不能x=1; /默认调用。y=2;int main()Point cpoint; /无法创建该类的实例。cpoint.x=2; return 0;2、 运行报错【3.30】题目:下面是一个计算器类的定义,请完成该类成员函数的实现。class

17、counterpublic:counter(int number);void increment(); /给原值加1void decrement(); /给原值减1int getvalue(); /取得计数器值int print(); /显示计数private:int value;类的成员函数的实现:void counter:counter(int number) value=number;void counter:increment() value+;void counter:decrement()value-;int counter:getvalue()return value;int c

18、ounter:print() coutThe result is:valueendl; return value;【3.31】1、题目:根据注释语句的提示,完成类Date的成员函数。#includeusing namespace std;class Datepublic:void printDate(); /显示日期void setDay(int d); /设置日的值void setMonth(int m); /设置月的值void setYear(int y); /设置年的值private:int day,month,year;void Date:printDate() coutToday i

19、s :year年month月day日endl;void Date:setDay(int d) day=d;void Date:setMonth(int m)month=m;void Date:setYear(int y)year=y;int main()Date testDay;testDay.setDay(5);testDay.setMonth(10);testDay.setYear(2003);testDay.printDate();return 0;2.运行结果二、我们前面已经完成了一个能够呈现欢迎信息、授课教师名称和成绩平均值、最高成绩和最低成绩以及成绩分布状况的GradeBook类;

20、请设计一个教师类Teacher,里面包含教师姓名、授课课程名字等信息;再设计一个学生类Student,包含学生学号、学生姓名、选择课程以及个人课程成绩等信息;将上述三个类使用类组合的思想,使得在学生类里可以获得选课名和教师信息,并能看到该课程的平均成绩或成绩分布状态(但无法看到其他人成绩),教师能够看到选课学生信息和课程成绩的详细情况。1、 代码:GradeBook.h#includeusing std:string;class GradeBookpublic:GradeBook(const int);void outputgrades(); double getaverage();void

21、showgrades();private:int grades3;Student.h#includeusing std:string;#includeTeacher.hclass Studentpublic:Student(char*stu_name1,char*sub_name1,char*a1,char*b1,int n,int g,int array); Student();void stushow();private:char*stu_name;char*sub_name;int number;int grade;GradeBook grade1;Teacher tea1;Teache

22、r.h#includeusing std:string;#includeGradeBook.hclass Teacherpublic:Teacher(char*tea_name1,char*sub_name1,int array);Teacher();string teanameshow();void teashow();private:char*tea_name;char*sub_name;GradeBook grade1;GradeBook.cpp#include using std:cout;using std:cin;using std:endl;using std:fixed;#in

23、clude using std:setprecision;using std:setw;#includeGradeBook.hGradeBook:GradeBook(const int gradesarray)for( int student=0;student3;student+)gradesstudent=gradesarraystudent;void GradeBook:outputgrades()for(int student=0;student3;student+)cout学号setw(4)student+1:setw(3)gradesstudentendl;double Grade

24、Book:getaverage()int total=0;for(int student=0;student3;student+)total+=gradesstudent;return static_cast(total)/3;void GradeBook:showgrades()outputgrades();coutn该门课程学生平均成绩:getaverage()endl;Teacher.cpp#include using namespace std;#includeTeacher.hTeacher:Teacher(char*tea_name1,char*sub_name1,int arra

25、y):grade1(array)tea_name=new charstrlen(tea_name1)+1;strcpy(tea_name,tea_name1);sub_name=new charstrlen(sub_name1)+1;strcpy(sub_name,sub_name1);Teacher:Teacher()delete tea_name;delete sub_name;string Teacher:teanameshow()return tea_name;void Teacher:teashow()coutnnn教师姓名:tea_name;coutn授课课程:sub_name;coutn该课程学生成绩:n;grade1.showgrades();Student.cpp#includeusing namespace std;#includeStuden

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论