C++第六次作业.doc

上传人:豆**** 文档编号:33453998 上传时间:2022-08-11 格式:DOC 页数:15 大小:69KB
返回 下载 相关 举报
C++第六次作业.doc_第1页
第1页 / 共15页
C++第六次作业.doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《C++第六次作业.doc》由会员分享,可在线阅读,更多相关《C++第六次作业.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、如有侵权,请联系网站删除,仅供学习与交流C+第六次作业【精品文档】第 15 页一、【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

2、,8);a.printa();return 0;2、 运行结果:【3.15】1、 题目:以下程序的运行结果是(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 leng

3、th,width;A label;int main()box b;b.set(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.dis

4、p();return 0;2、 运行结果。【3.17】1、题目:以下程序的运行结果是(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.

5、18】1、 题目:写出下面程序的运行结果。#includeusing namespace 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(),;c

6、outopi0.get_price()n; coutopi1.get_quan(),; 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

7、.get_i();int main()example x(10);coutx.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(

8、)objects in existencen;aClass * p;p=new 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:t

9、est();test();private:int i;test:test()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

10、main()A a3;A b3=A(1,2),A(3,4),A(5,6);return 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、 运行结果

11、【3.24】1、 题目:写出下面程序的运行结果。#includeusing 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

12、,y;public:M()x=y=0;M(int i,int j)x=i;y=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

13、 Mint A;static int B;public:M(int a)A=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

14、();private:char name10;int age;float aver;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() /在类声明之外

15、定义类的成员函数格式错误,应该是 /void Student:printStu()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(); /没

16、有定义成功,所以无法引用。return 0; /程序最后加入一条语句,main函数应该返回一个值。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.

17、30】题目:下面是一个计算器类的定义,请完成该类成员函数的实现。class 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-;in

18、t counter:getvalue()return value;int counter: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,

19、year;void Date:printDate() coutToday is :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.运行结果二、我们前面已经完成了一个能够呈现欢迎信息、授课教师

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

21、putgrades(); double getaverage();void 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 grad

22、e;GradeBook grade1;Teacher tea1;Teacher.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:

23、cin;using std:endl;using std:fixed;#include 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

24、:setw(3)gradesstudentendl;double GradeBook: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(

25、char*tea_name1,char*sub_name1,int array):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()cou

26、tnnn教师姓名:tea_name;coutn授课课程:sub_name;coutn该课程学生成绩:n;grade1.showgrades();Student.cpp#includeusing namespace std;#includeStudent.hStudent:Student(char*stu_name1,char*sub_name1,char*a1,char*b1,int n,int g,int array):grade1(array),tea1(a1,b1,array)stu_name=new charstrlen(stu_name1)+1;strcpy(stu_name,stu

27、_name1);sub_name=new charstrlen(sub_name1)+1;strcpy(sub_name,sub_name1);number=n;grade=g;Student:Student()delete stu_name;delete sub_name;void Student:stushow()coutn学生姓名:stu_name;coutn学号:number;coutn选择课程:sub_name;coutn授课老师:tea1.teanameshow();coutn课程成绩:grade;coutn该门课程学生平均成绩:grade1.getaverage();coutn;

28、myGradeBook.cpp#includeusing std:cout;using std:cin;using std:endl;#includeStudent.hint main()int gradesarray3=87,85,95;Student stu1(Tina,C+,Mrs.H,C+,01,87,gradesarray), stu2(Rose,C+,Mrs.H,C+,02,92,gradesarray), stu3(Jack,C+,Mrs.H,C+,03,77,gradesarray);stu1.stushow();stu2.stushow();stu3.stushow(); Teacher tea1(Mrs.H,C+,gradesarray); tea1.teashow();return 0;2、 运行结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁