《面向对象程序设计》编程题复习及其答案
(完整word版)面向对象程序设计期末复习题及答案

(完整word版)面向对象程序设计期末复习题及答案C++面向对象程序设计复习试题类型1、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
15题,每小题2分,共30分) [主要从作业题目中抽出来]2。
填空题。
(10题,每小题3分,共30分)3、阅读程序,写出程序运行结果。
【也称计算题】(3题,每小题5分,共15分)4、程序编制题【也称综合分析题】. (第1、2题每题8分,第3题9分,共25分)重点复习内容打*号是重点,打▲号是编程题出题范围*基本概念,对象,消息,类。
面向对象系统特性,封装性,继承性,多态性.*▲C++类的构成,类与对象,构造与析构,动态存储,类嵌套.静态成员,对象数组,友元。
*函数重载。
运算符重载。
*引用定义与引用参数* 基类与派生类的定义。
*基类及派生类的访问权(含派生类对基类的访问、通过派生类对象对基类的访问)和初始化。
多继承与虚基类.*多态性与虚函数.纯虚函数、抽象类。
*▲函数模板。
*▲使用类来定义对象并在程序中的应用题型样题填空题1。
假定AB为一个类,则执行“AB a[10];"语句时,系统自动调用该类的构造函数的次数为_________。
答案:102。
可以用p。
a的形式访问派生类对象P的基类成员a,其中a是_________。
答案:公有继承的公有成员3.能作为重载函数的调用的依据是_________。
答案:参数个数、参数类型4.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流是否结束状态的操作函数名称是_________答案:eof5。
函数重载是指_________。
答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同(完整word版)面向对象程序设计期末复习题及答案6。
在派生类中重新定义虚函数时必须在_________ 方面与基类保持一致。
答案:参数个数阅读程序例题【计算题】1.分析以下程序的执行结果#include〈iostream.h>class Sample{int x,y;public:Sample() {x=y=0;}Sample(int a,int b) {x=a;y=b;}~Sample(){if(x==y)cout〈〈“x=y”〈<endl;elsecout〈〈“x!=y"〈〈endl;}void disp(){cout〈〈“x=”<〈x〈<“,y”=<<y<<endl; }};void main(){Sample s1,s2(2,3);s1.disp();s2.disp();}解:x=0,y=0x=2,y=3x!=y x=y2.分析以下程序的执行结果#include〈iostream。
面向对象程序设计复习试题(答案)

语法扩充1.1选择题在C++中用(D)能够实现将参数值带回。
a)数组b)指针c)引用d)上述ABC都可考虑函数原型voidtest(inta,intb=7,char*ch="*"),下面的函数调用中,属于不合法调用的是:(C)A)test(5)B)test(5,8)C)test(6,"#")D)test(0,0,"*");已知:intm=10;下列表示引用的方法中,正确的是:(C)A)C)在A)对在A)C)A)C)A)intFunc(int,int,int);B)doubleFunc(int,int);C)doubleFunc(double,double);D)doubleFunc(int,double);下面的哪个保留字不能作为函数的返回类型(C)A)voidB)intC)newD)long一个函数功能不太复杂,但要求被频繁调用,选用(A)。
A.内联函数B.重载函数C.递归函数D.嵌套函数已知函数f的原型为:voidf(int&a,char*b);变量s,t的定义是:ints;chart[]="ABCD";把s和t分别作为第一参数和第二参数来调用函数f,正确的调用语句是(C)Af(&s,&t);Bf(&s,t);Cf(s,t);Df(s,&t);若定义cin>>str;当输入MicrosoftVisualStudio6.0!所得结果是str=(B)。
A、MicrosoftVisualStudio6.0!B、MicrosoftC、MicrosoftVisualD、MicrosoftVisualStudio6.0.函数模板(C)。
A、代表某一具体函数B、与模板函数是同一个函数C、与某一个具体的数据类型连用D在ABCDAC1.21。
23int*&p=c;p=&b;4、假设有如下函数定义:voidFun(intx,inty=100);则语旬Fun(5)语句__Fun(5,100)_等价。
《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

《面向对象程度设计》课程知识复习学习材料试题与参考答案一、单选题1.下列(C)的调用方式是引用调用。
A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值2.假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的(B)。
A.有参构造函数B.无参构造函数C.复制构造函数D.赋值构造函数3.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a 的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。
A.x.aB.x.a()C.x->GetValue()D.x.GetValue()4.C++编译系统确定调用是具体对象的过程称为关联。
C++有(B)关联。
A.1种B.2种C.3种D.4种5.下面有关重载函数的说法中正确的是(C)。
A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同6.如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(C)。
A.a.operator==(b)B.b.operator==(a)C.operator==(a,b)D.operator==(b,a)7.下列对继承关系的描述中,(D)是正确的。
A.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B.在公有继承中,基类中只有公有成员对派生类的对象是可见的;C.在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;8.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(A)。
A.int *p=new int[30];B.int *p=new int(30);C.int *p=new [30];D.*p=new int[30];9.在一个类中可以对一个运算符进行(D)重载。
成人教育 《面向对象程序设计》期末考试复习题及参考答案

面向对象程序设计复习题二一、填空1.程序的三种常见结构是、、,其中结构是程序的默认结构。
2.同名方法给出不同的实现,并通过参数类型或个数进行区分,称为。
3.和“继承”匹配的概念是。
4.由类构建对象的过程称为。
5.抽象类是含有的类。
6.实现软件复用有两种方式,分别为、、。
7.有定义const int *p,p称为。
8.通过继承产生的类称为。
9.virtual关键字在C++中有两个用处,分贝是,和。
10.方法重载和实现了多态性。
11.请给出C++外的另外一种支持面向对象设计语言。
12.类的三个要素是、、。
13.对象释放前执行的函数是。
二、名词解释1、构造函数2、对象3、运算符重载4、析构函数5. 面向对象6. 继承三、简答1.比较类和结构体?2.重载的意义?3.抽象类的作用和意义?4.组合与继承的区别?四、辩析1.任何父类对象都可以被子类对象替代。
2.public修饰符号破坏了数据的开放性。
3.private继承方式不能产生子类。
4.不能实例化的类一定是抽象类。
五、综合回答1.简述多态的实现机制。
2.谈谈多态的意义。
3.面向对象程序设计思想的优点和缺点。
面向对象程序设计复习题二答案一、填空(1)顺序(2)选择(3)循环(4)顺序(5)函数重载(6)抽象(7)实例化(8)纯虚函数(9)继承(10) 组合(9)和(10)不区分顺序(11)常量指针(12)派生类(13)虚函数(14)虚拟继承(13)和(14)不区分顺序(15)覆盖(16)Java或者C#(17)类的标识(18)类的状态(19)类的操作(17)(18)(19)不区分顺序(20)析构函数二、名词解释1、当类实例化时自动调用的成员函数,负责实现对象的初始化2、按照数据类型分配的内存空间,可以实现方法的调用3、将系统定义的运算符操作对象的类型扩展的过程,一般针对自定义类型4、对象空间释放之前自动调用的函数5、是程序设计思想,相对面向过程而言更加强调封装性6、两个类之间的一种关系,其中一个类的某个成员类型是另一个类三、简答1、C++中类和结构体具有同等的功能,唯一区别是类缺省成员属性是private,而结构体缺省为public2、重载的意义在于丰富了动作的多样性,但是并不加重程序员的负担。
面向对象程序设计考前复习题及答案

简答题1、传统的结构化程序设计的优点和缺点是什么?优点:(1)这种程序设计方法力求算法描述准确。
(2)对每一子过程模块容易进行程序正确性证明。
缺点:(1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。
(2)程序代码可重用性差。
程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。
即使重用代码,通常也是通过拷贝或编辑重新生成一份。
(3)维护程序的一致性困难。
该种方法将数据与对数据进行处理的程序代码分离。
2、什么是对象?每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。
对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。
3、什么是消息?在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。
当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。
这种向对象发出的服务请求就称为消息。
4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。
其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。
5、什么是面向对象的程序设计方法?这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。
在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。
6、面向对象方法的特点是什么?(1)OOP以“对象”或“数据”为中心。
由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。
《面向对象程序设计(java)》编程题库(含答案)

《面向对象程序设计(java)》编程题库(含答案)《面向对象程序设计(Java)》资源文档——深圳职业技术学院《面向对象程序设计(Java)》编程题库(含答案) 1、已知数组a={4,67,32,78,56,13,90,48,22},编程实现求该数组最大值并输出的方法。
2、编写程序实现求0~150之间的奇数的乘积;3、已知类People里含有属性money初值是20,方法void work(int m)实现增加m到money里,定义它的子类ChinaPeople,重写方法void work(int m)实现把增加m到money里(体现汇率变化)。
4、定义接口Worker,有一个方法login()实现打卡功能。
定义该接口实现类ChinaWorker,给出login()的具体实现,只需输出“我来了~~”即可。
5、使用Scanner类实现从键盘输入一句英文,主程序实现把这句英文的单词按照字典顺序排序输出。
6、使用Scanner类实现从键盘输入若干个双精度数,主程序实现把这些数求和输出。
7、定义窗体,窗体上含有两个文本区,一个按钮,实现一个文本区内输入若干个整数,单击按钮后在另一个文本区内显示这些整数中奇数的个数,并输出所有奇数。
8、编写类比如Circle实现模拟圆形,类中封装与圆有关的数据和方法(比如半径和获取面《面向对象程序设计(Java)》资源文档——深圳职业技术学院积),在主方法中定义一个对象,让这个对象操作自己的数据和方法输出相应结果。
9、编写一个类People,含有两个属性String 类型的name和int类型的age,定义一个方法speak()输出这两个属性。
如“我是zhanghua,我今年12了”。
编写People的子类Boy,重写方法speak(),输出“我是男孩,我今年***”。
编写People的子类Girl,重写方法speak(),输出“我是女孩,我叫****“。
编写主类,声明一个People的对象p。
(完整版)c++面向对象程序设计试题和答案

系名___ ___ ___ ___班级___ ___ ___ ___姓名___ ___ ___ ___学号___ ___ ___ ___ 密封线内不答题填空题(每空1分,共14分)1、观看以下程序:class point{public:void show() {cout<<”point”<<endl;}};void main(){point p1;point *p;p=&p1;_P1.show()______________//通过对象p1访问show函数__p->show()____________//通过指针p访问show函数}2、在C++类中可以包含__私有____________、___公有___________和__保护____________三种具有不同访问控制权的成员。
3、定义类时,在类头中将使用关键字___class__________来表示类定义的开始。
4、如果一个类中至少有一个纯虚函数,则该类称为_____抽象类___________。
5、C++类的组成包括数据成员和___成员函数___________,友元_不是____(是、不是)该类的成员函数。
6、友员函数是用关键字____friend________修饰的非成员函数。
7、若有:int i;int &j=i;i=10;j=i+1;则i=__11________,j=_11_________。
8、 new的功能是_____动态申请内存空间_______________,delete的功能是___释放由new申请的空间_________________。
二、选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是()。
(A)数据封装(B)继承(C)多态性(D)模板2、()是给变量取一个别名,它引入了变量的同意词。
(A)指针(B)引用(C)枚举(D)结构3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。
面向对象程序设计复习题及参考答案

20.Java语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的块来捕
获和处理异常。
21.多态是指。
22.声明常量时使用修饰符。
23.Java中异常抛出使用保留字。
24.一个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类名
来访问和调用。
25.如果类成员前面没有访问权限修饰符,则该类成员具有访问权限。
4.构造器方法有什么特点和作用?
5.保留字throw和throws有什么区别?
6.将下面的while循环改写为for循环
int count=1,sum= 0;
while ( cou nt <= 30 ) {
sum += count;
count +=3;
}
7.Java语言编译和执行的过程是?
8.检查型异常和非检查型异常有何区别?
9.请改造下面的构造方法,使第一个构造方法调用第二个构造方法。
public Class On e(i nt alpha) {
this.alpha = alpha;
this.beta = 0;
}
public Class On e(i nt alpha , int beta) {
this.alpha = alpha;
}
public int getCount(){
return count;
}
}
2.int gradeLevel;
switch (gradeLevel){
case1:System.out.print("Go to the101");
case2:System.out.print("Go to202");
java面向对象程序设计习题答案

java面向对象程序设计习题答案Java面向对象程序设计习题答案习题一:定义一个类问题描述:定义一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)属性,以及构造方法和相应的getters和setters方法。
答案:```javapublic class Person {private String name;private int age;private String gender;public Person(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}}```习题二:继承与多态问题描述:创建一个名为`Student`的类,继承自`Person`类,并添加一个名为`studentId`的属性。
重写`toString()`方法,以显示学生的详细信息。
答案:```javapublic class Student extends Person {private String studentId;public Student(String name, int age, String gender, String studentId) {super(name, age, gender);this.studentId = studentId;}public String getStudentId() {return studentId;}public void setStudentId(String studentId) {this.studentId = studentId;}@Overridepublic String toString() {return "Student{" +"name='" + getName() + '\'' +", age=" + getAge() +", gender='" + getGender() + '\'' +", studentId='" + studentId + '\'' +'}';}}```习题三:封装与隐藏问题描述:创建一个名为`BankAccount`的类,包含账户ID (accountId)、账户余额(balance)和账户类型(accountType)。
《面向对象程序设计》期末复习题及答案1

面向对象程序设计》期末复习指导-单选题1. C++源程序文件的缺省扩展名为( )。
A. cppB. exeC. objD. lik2. 编写C++程序一般需经过的几个步骤依次是( )。
A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接3. 程序中主函数的名字为()。
A. mainB. MAINC. MainD. 任意标识符4. 存储以下数据,占用存储字节最多的是()。
A. 0B. …0‟C. “0”D. 0.01 5. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc 的表达式是( )。
A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. x>0 || y==5的相反表达式为()。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==57. 字符串”a+b=12\n”的长度为()。
A. 6B. 7C. 8D. 98. 循环语句“for(int i=0; i<n; i++) cout<<i*i<<’’;”中循环体执行的次数为( )。
A. 1B. n-1C. nD. n+19. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 710. 在下面循环语句中循环体执行的次数为()。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 711. 循环体至少被执行一次的语句为()。
A. for循环B. while循环C. do循环D. 任一种循环12. 在下面的一维数组定义中,哪一个有语法错误。
面向对象程序设计复习总结题(含部分答案)

《面向对象程序设计》复习要点及复习题(一)复习要点1.标识符、基本数据类型(字节数)、构造数据类型、运算符的种类、运算符的优先级和结合性、控制台输入和输出2.三种基本控制结构、if…else语句、switch语句、for语句、while语句、do…while语句、跳转语句;函数参数传递、函数重载、内联函数;标识符的作用域和生存期。
3.类的定义和使用、this指针、构造函数和析构函数、组合技术、静态成员、友元、运算符重载4.指针与数组、二级指针、动态内存的分配与释放、深复制与浅复制、递归。
5.派生类的构造与析构、派生类与基类的赋值兼容、多重继承与虚基类。
6.虚函数与动态绑定、纯虚函数与抽象类(二) 复习题一、单项选择题。
1.在switch语句中,为了结束分支,一般应在每个分支的结尾处加上语句(C)。
A. continueB. gotoC. breakD. default2.说明友元函数的关键字是(D)。
A. inlineB. virtualC. staticD. friend3.下面对指向常量的指针描述正确的是(C)。
A. 只能指向常量B. 指向的数据可以被修改C. 可以指向普通变量D. 必须进行初始化4.友元函数没有(A)。
A. this指针B. 返回类型C. 函数名D. 参数5.关于重载,(A)不正确。
A. 类名可以重载B. 函数名可以重载C. 运算符可以重载D. 缺省参数是重载的一种方式6.用new分配n维数组空间,首地址赋予指针p,则p应为指向(C)维数组的指针。
A. 0B. 1C. n-1D. n7.为类X重载前缀自增运算,则函数返回类型应为(C)。
A. XB. X*C. X&D. int8.以下(A)未调用构造函数(X为类名)。
A. X*p;B. X obj;C. X obj(1);D. X obj=2;9.若在类外有函数调用X::func();则函数func是类X的(C)函数。
面向对象程序设计复习题(附参考答案)

【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。
[A.]二进制[B.1符号[c.1十进制[D.]数字【答案】A【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】JaVa语言的主要特点不包括()。
[A.]面向对象[B.]自动垃圾回收[CJ处理文件[D.]可移植性【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java开发工具包简称为()。
[A.]JKD[B.]JRK[C.]JDK[D.]JRE【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】具有相同属性和服务的一组对象的模板称为()。
1B.]类[c.1代码[D.]概念【答案】B【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。
[A.]产品[B.1元素[c1成分[D.]实例【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java是一门()语言。
[A.]机器[B.]汇编[C.)面向过程的高级[D.]面向对象的高级【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】使用JDK编译JaVa程序时使用的命令是()。
面向对象程序设计复习题与参考答案

网络數谋程考试复习题及参考答案面向对象程序设计一、填空题:仁创建类的对象时,使用运算符__________________ 给对象分配内存空间。
2・Java通过来区分重载函数。
3•在子类中使用保留字_可调用被子类覆盖的父类中的方法。
4•使用保留字可以从一个构造方法中调用同一个类的另一个构造方法。
5•抽象类用修饰符定义。
6•类的数据成员的访问权限修饰符一般为7•访问权限修饰符按照访问权限的大小从大到小分别为、、N O&泄义类的构逍方法不能有,其名称与名相同。
9 •抽象方法是的特征是。
中的所有异常都是从继承来的。
门・对象引用中存储的内容是。
12 •下列程序段执行后,String str1 = new StringfUava1');String str2 = new StringCUava11);if (str1 .equals(str2)) {System. out. pri nt In (H They are equal");} else {System. out. pri nt In (H They are not equal");} 输出结果为:。
13•下而循环执行后的sun值为int count =0, sum = 0;\vhile ( count <10 ) { sum += count; count ++;}14.Java语言中关键字_表示双精度类型。
15•保留字_用于导入包中的类到程序中,供程序中使用匚16.Java语言中继承是用保留字表示。
17•而向对象程序设计中,类是指。
对象包含和。
19.若有类定义:class B extends A{...}则类B是类A的_。
20Java语言中,通常把可能发生异常的方法调用语句放到try块中.并用紧跟其后的_块来捕获和处理异常。
21•多态是指。
22•声明常量时使用修饰符。
23.Java中异常抛出使用保留字。
面向对象程序设计复习题答案

面向对象程序设计复习选择题1. 一个设计得好的面向对象系统具有(B)特征。
A 低内聚、低耦合B 高内聚、低耦合C 高内聚、高耦合D 低内聚、高耦合2. 面向对象程序设计的特点主要概括为(C)。
A 可分解性、可组合性、可分类性B 继承性、封装性、多态性C 抽象封装性、继承性、多态性D 封装性、易维护性、可扩展性、可重用性3. 关于C#程序的书写,下列不正确的说法是( D )。
A. 区分大小写B. 一行可以写多条语句C. 一条语句可写成多行D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法4. 关于C#语言的基本语法,下列哪些说法正确的是(C)A. C#语言使用using 来引用需要用到的命名空间;B. 用C#编写的程序中,Main 函数是唯一允许的全局函数;C. C#语言中使用的名称严格区分大小写;D. C#中一条语句必须写在一行内;5 以下标识符中,正确的是(A)。
A._nNameB. typeofC. 6bD. x5#6.字符串连接运算符包括&和(A)。
A. +B. -C. *D. /7.拆箱是关于:(B)A、值类型到引用类型的转换B、引用类型到值类型的转换C、引用类型到引用类型的转换D、值类型到值类型的转换8.装箱是关于:(A)A、值类型到引用类型的转换B、引用类型到值类型的转换C、引用类型到引用类型的转换D、值类型到值类型的转换9.下列引用类型和值类型描述正确的是(A)。
A. 引用类型变量保存内存地址,值类型直接保存变量值B. 引用类型在变量中直接保存变量值,值类型保存内存地址C. 引用类型和值类型保存数据的方式相同D. .NET Framework不支持值类型,因为所有的类型都是引用类型了10.一个类中的静态方法的调用可以:(A)A、通过类名调用B、通过实例化的对象调用C、在主方法中直接调用D、在同一个类中的某一方法中直接调用11.以下数据类型中,属于引用类型的是:(A)A、string类型B、double类型C、int类型D、 char类型12.下列类型中为值类型的是(C)A. 字符串类型B. 树组类型C. 枚举类型D. 接口类型13.decimal类型和浮点类型都可以表示小数,正确说法:(C)A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低14. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是(C)。
《面向对象程序设计(Java)》经典编程集(共60题,含答案)

《面向对象程序设计(Java)》经典编程集(共60题,含答案)/*一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?第5次反弹多高?*//*输出7*7口诀*//*求1+2!+3!+...+10!的和*//*有5个人坐在一起,问第五个人多少岁?他说比第4个人大3岁。
问第4个人岁数,他说比第3个人大3岁。
问第三个人,又说比第2人大3岁。
问第2个人,说比第一个人大3岁。
最后问第一个人,他说是10岁。
请问第五个人多大? *//*求0--7所能组成的6位的奇数个数是多少个*//*有1、2、3、4、5、6、7、8、9个数字,能组成多少个互不相同且无重复数字的四位数?程序分析:可填在千位、百位、十位、个位的数字都是1、2、3、4、5、6、7、8、9。
组成所有的排列后再去掉不满足条件的排列。
*//*一个整数,它加上1000后是一个完全平方数,再加上1680又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上1000后再开方,再将该数加上2680后再开方,如果开方后的结果满足如下条件,即是结果。
请看具体分析*//*利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,80-89分之间的用B表示,70-79分之间的用C表示,60-69分之间用D表示,60分以下的用E表示。
(假定输入数字为95,判断等级)*//*题面:编写程序解决如下问题,小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,求可以有多少种不同的借法?将结果打印输出*//*题面:编写程序解决如下问题,某人将一缸金鱼分5次出售,第一次卖出全部的一半加二分之一条;第二次卖出余下的三分之一加三分之一条;第三次卖出余下的四分之一加四分之一条;第四次卖出余下的五分之一加五分之一条;最后卖出余下的11条。
问原来的鱼缸中共有几条金鱼?将结果打印输出*//*题面:编写程序,一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码正好相反,求这个三位数,以十进制输出。
《面向对象程序设计c 》综合复习题集及答案详解

《面向对象程序设计》综合复习题集四、程序填充1. 斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和。
求斐波那契数列中的前20个数,要求每行输出5个数。
#include<iostream.h>void main() {int f,f1,f2,i;cout<<”斐波那契数列:\n”;f1=0; f2=1;cout<<setw(6)<<f1<<setw(6)<<f2;for(i=3;i<=20;i++) {f=______(1)______;cout<<setw(6)<<f;if(_____(2)______) cout<<endl;f1=f2;f2=____(3)_______;}cout<<endl;}(1) (2) (3)2. 计算∑=+ -10 11!)1(iiiix的值。
#include<iostream.h>void main(){double x,p1=1,p2=1,s=0;int i,j=1;cout<<"输入x的值:";cin>>x;for(i=1;i<=10;i++) {p1*=___(1)_____;p2*=____(2)____;s+=j*p1/p2; //j的值为(-1)i+1j=____(3)____;}cout<<s<<endl;}(1) (2) (3)17. 假定有定义为“struct NODE{int data; NODE* next;};”,下面算法根据table 数组中的n个元素建立一个表头指针为L的链表,链表中结点值的顺序与数组元素值的顺序相同。
void f5(NODE*& L, int table[], int n){if(n<=0) {L=NULL; return;}L=new NODE; //生成附加的头结点int i=0;NODE* p=L;while(___(1)___) {p=p->next=___(2)___;p->data=___(3)___;i++;}p->next=NULL; //把最后一个结点的指针域置空p=L;L=L->next; //使L指向链表的第一个带值的结点delete p;}(1) (2) (3)22. 已知一维数组类ARRAY的定义如下,构造函数的作用是把参数n的值赋给s,给v 动态分配长度为n的数组空间,接着利用数组参数a初始化v所指向的数组。
面向对象程序设计试题及答案

面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。
2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。
3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。
4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。
5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。
6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。
7. 请解释类(Class)与对象(Object)之间的关系。
8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。
9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。
二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。
2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。
(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。
(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。
(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。
3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。
封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。
(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。
(3)降低模块之间的耦合度,提高代码的灵活性。
4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。
面向对象程序设计编程题复习及其答案

《面向对象程序设计》复习题1、(C++的输入输出)天猫优惠券,我就要券定义一个函数max,实现输入两个数a、b,比较并从小到大输出。
2、(函数的重载)(1)定义一个带两个参数的函数max,输出最大值。
(2)再定义一个带三个参数的函数max,输出最大值。
(3)主函数测试之。
3、(有默认参数的函数)将题2用带默认参数的函数实现。
4、(变量的引用)(1)定义一个swap1函数,以普通形参传入两个变量a、b,互换a、b的值。
(2)定义一个swap2函数,以指针形参传入两个变量a、b,互换a、b的值。
(3)定义一个swap3函数,以引用形参输入两个变量a、b,互换a、b的值。
(4)主函数定义两个变量x、y传入三个函数,观察x、y值前后的变化。
5、(类的定义)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1)set函数,键盘输入学号,姓名,年龄,性别(2)display函数,输出学生信息。
6、(构造函数和析构函数)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1)构造函数,初始化学号,姓名,年龄,性别(2)display函数,输出学生信息。
(3)析构函数,输出学生学号。
(4)主函数定义多个对象,并注意构造函数和析构函数的调用顺序。
7、(构造函数的重载)在题6基础上增加一个默认构造函数,实现构造函数的重载8、将题6用带默认参数的构造函数实现。
9、(对象数组和对象的动态建立及释放)在题8基础上,实现如下主函数:(1)在主函数中定义一个包含三个学生的数组,并初始化之。
(2)在主函数中定义一个student类指针p并用new运算符分配动态内存(3)用delete删除p指向的动态内存。
(4)观察构造函数和析构函数的调用。
10、(复制构造函数)在题8基础上新增加一个复制构造函数,并主函数新增复制构造对象。
《面向对象程序设计》期末复习带答案

一、单项选择题1.退出Visual Basic的快捷键是()。
CA.Ctrl + Q B.Shift + Q C.Alt + Q D.Ctrl + Alt + Q2.以下四个VB的变量名中,不合法的是()。
CA.Print_Num1 B.Abc% C.Const D.X1_y2_z33设置ADO数据控件RecordSource属性为数据库中的单个表名,则CommandType属性需要设置为()。
B A.adCmdText B.adCmdTable C.adCmdStoredProc D.adCmdUnknown4设有如下过程:Sub ff( x,y,z )x = y + zEnd Sub以下所有参数的虚实结合都是传址方式的调用语句是()。
BA.Call ff ( 5,7,z )B. Call ff ( x,y,z )C. Call ff ( 3 + x,5 + y,z )D. Call ff ( x + y,x - y,z )5.菜单的热键指使用Alt键和菜单标题中的一个字符来打开菜单,建立热键的方法是在菜单标题的某个字符前加上一个()字符。
CA.% B.$ C.& D.#6.函数Int( 76 * RND() )的值是在()范围内的整数。
CA. [1,75]B. [1,76]C. [0,75]D. [0,76]7.以下能够触发文本框Change事件的操作是()。
DA. 文本框失去焦点B.文本框获得焦点C. 设置文本框的焦点D.改变文本框的内容8.设组合框Combo1 中有3个项目,则以下能删除最后一项的语句是()。
BA.Combo1.RemoveItem Text B.Combo1.RemoveItem 2C.Combo1.RemoveItem 3 D.Combo1.RemoveItemCombo1.Listcount9.要使菜单项Menu1在程序运行时失效,使用的语句是()。
DA.Menu1.Visible=True B.Menu1.Visible =False C.Menu1.Enabled=True D.Menu1.Enabled=False10.以下叙述中错误的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》复习题1、(C++的输入输出)天猫优惠券,我就要券定义一个函数max,实现输入两个数a、b,比较并从小到大输出。
2、(函数的重载)(1)定义一个带两个参数的函数max,输出最大值。
(2)再定义一个带三个参数的函数max,输出最大值。
(3)主函数测试之。
3、(有默认参数的函数)将题2用带默认参数的函数实现。
4、(变量的引用)(1)定义一个swap1函数,以普通形参传入两个变量a、b,互换a、b的值。
(2)定义一个swap2函数,以指针形参传入两个变量a、b,互换a、b的值。
(3)定义一个swap3函数,以引用形参输入两个变量a、b,互换a、b的值。
(4)主函数定义两个变量x、y传入三个函数,观察x、y值前后的变化。
5、(类的定义)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1)set函数,键盘输入学号,姓名,年龄,性别(2)display函数,输出学生信息。
6、(构造函数和析构函数)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1)构造函数,初始化学号,姓名,年龄,性别(2)display函数,输出学生信息。
(3)析构函数,输出学生学号。
(4)主函数定义多个对象,并注意构造函数和析构函数的调用顺序。
7、(构造函数的重载)在题6基础上增加一个默认构造函数,实现构造函数的重载8、将题6用带默认参数的构造函数实现。
9、(对象数组和对象的动态建立及释放)在题8基础上,实现如下主函数:(1)在主函数中定义一个包含三个学生的数组,并初始化之。
(2)在主函数中定义一个student类指针p并用new运算符分配动态内存(3)用delete删除p指向的动态内存。
(4)观察构造函数和析构函数的调用。
10、(复制构造函数)在题8基础上新增加一个复制构造函数,并主函数新增复制构造对象。
11、(静态成员)定义一个student类,数据成员包括:学号num,姓名name,成绩score,累加总分sum,累计人数count。
成员函数包括:构造函数统计人数count;(1)非静态成员total函数,求sum。
(2)静态成员average函数,求平均成绩。
(3)主函数定义包含3个学生的数组,求三个学生的平均成绩。
12、(友元函数)定义一个Time类,私有数据成员包括:时hour、分minute、秒second 成员函数:构造函数Time()定义一个友元函数display,使之访问私有成员输出时分秒。
13、(运算符重载)(1)定义一个复数类,实现对“+”,>>,<<的重载,使之可实现以下主函数。
int main(){Complex a(3,4),b(1,2),c,d,e,f;c=a+b;d=a+5;e=3+b;cin>>f;cout<<f<<endl;return 0;}(2)定义一个Time类,实现对“++”的前缀、后缀重载。
P134i++:单目运算符天猫优惠券,我就要券14、(单继承及派生类构造函数)(1)定义一个person类,数据成员包括:姓名name,年龄age,性别sex成员函数:构造函数及display函数(2)定义一个派生类student,公有继承与person类,新增成员:专业major,入学日期enterdate(Date类自定义)。
(3)主函数定义student对象,各类构造函数的调用顺序。
15、(多继承)在14题基础上由person类再派生出teacher类,新增成员:职称title,工资wage 16、(虚继承)由student类和teacher类共同派生出graduate类,新增成员: 年级grade,将person类定义成虚基类,实现用虚继承解决二义性。
17、(抽象类及多态性)定义一个抽象基类Shape,由它派生出5个派生类,Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangel(三角形)。
用虚函数分别计算几何图形面积,并求他们的和。
要求定义一个基类指针,使它指向每一个派生类对象,体现其多态性。
1、#include<iostream>using namespace std;void max(){int a,b;cout<<"请输入两个数:"<<endl;cin>>a>>b;if(a>b)cout<<b<<" "<<a<<endl;elsecout<<a<<" "<<b<<endl; }int main(){max();return 0;}2、#include<iostream>using namespace std;void max(int a,int b){if(a>b)cout<<a<<endl;elsecout<<b<<endl;}void max(int a,int b,int c){if(a>b && a>c)cout<<a<<endl;else if(b>c)cout<<b<<endl;elsecout<<c<<endl; }int main(){max(2,5);max(7,5,3);return 0;}3、#include<iostream> using namespace std;void max(int a,int b,int c=0) {if(a>b && a>c)cout<<a<<endl;else if(b>c)cout<<b<<endl;elsecout<<c<<endl; }int main(){max(2,5);max(7,5,3);return 0;}4、#include<iostream> using namespace std;void swap1(int a,int b) {int temp;temp=a;a=b;b=temp;}void swap2(int *a,int *b){int temp;temp=*a;*a=*b;*b=temp;}void swap3(int &a,int &b){int temp;temp=a;a=b;b=temp;}int main(){int x,y;x=5;y=7;swap1(x,y);cout<<"x="<<x<<" y="<<y<<endl;x=5;y=7;.swap2(&x,&y);cout<<"x="<<x<<" y="<<y<<endl;x=5;y=7;swap3(x,y);cout<<"x="<<x<<" y="<<y<<endl;return 0;}5、#include<iostream>#include <string>using namespace std;class student{private:int num;string name;int age;char sex;public:void set(){cout<<"请输入:学号,姓名,年龄,性别(f or m)"<<endl;.cin>>num>>name>>age>>sex;}void display(){cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;}};int main(){student s;s.set();s.display();return 0;}6、#include<iostream>#include <string>using namespace std;class student{private:int num;string name;int age;char sex;public:/* void set(){cout<<"请输入:学号,姓名,年龄,性别(f or m)"<<endl;cin>>num>>name>>age>>sex;}*/student(int num,string name,int a,int s){cout<<"调用构造函数num="<<num<<endl;this->num=num;this->name=name;age=a;sex=s;}天猫优惠券,我就要券void display(){cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;}~student(){cout<<"析构函数学号:"<<num<<endl;}};int main(){student s(1001,"张三",25,'f'),s1(1002,"李四",24,'m');//s.set();s.display();s1.display();return 0;}7、#include<iostream>#include <string>using namespace std;class student{private:int num;string name;int age;char sex;public:/* void set(){cout<<"请输入:学号,姓名,年龄,性别(f or m)"<<endl;cin>>num>>name>>age>>sex;}*/student(){cout<<"调用构造函数num="<<0<<endl;num=0;name="";age=18;sex='f';}student(int num,string name,int a,int s){cout<<"调用构造函数num="<<num<<endl;this->num=num;this->name=name;age=a;sex=s;}void display(){cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;}~student(){cout<<"析构函数学号:"<<num<<endl;}};int main(){student s(1001,"张三",25,'f'),s1(1002,"李四",24,'m'),s2;//s.set();s.display();cout<<endl;s1.display();cout<<endl;s2.display();cout<<endl;return 0;}8、#include<iostream>#include <string>using namespace std;天猫优惠券,我就要券class student{int num;string name;int age;char sex;public:student(int num=0,string name="",int a=18,int s='f') {cout<<"调用构造函数num="<<num<<endl;this->num=num;this->name=name;age=a;sex=s;}void display(){cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;~student(){cout<<"天猫优惠券,我就要券学号:"<<num<<endl;}};int main(){student s(1001,"张三",25,'f'),s1(1002,"李四",24,'m'),s2;//s.set();s.display();cout<<endl;s1.display();cout<<endl;s2.display();cout<<endl;return 0;}9、#include<iostream>#include <string>using namespace std;class student{private:int num;string name;int age;char sex;public:student(int num=0,string name="",int a=18,int s='f') {cout<<"调用构造函数num="<<num<<endl;this->num=num;this->name=name;age=a;sex=s;}void display(){cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;}~student(){cout<<"析构函数学号:"<<num<<endl;}};int main(){student s[3]={student(1001,"张三",25,'f'),student(1002,"李四",24,'m')};for (int i=0;i<3;i++){天猫优惠券,我就要券s[i].display();cout<<endl;}student *p;p=new student(1003,"王五",23,'f');p->display();cout<<endl;delete p;return 0;}10、#include<iostream>#include <string>using namespace std;class student{private:int num;string name;int age;char sex;public:student(int num=0,string name="",int a=18,int s='f') {cout<<"调用构造函数num="<<num<<endl;this->num=num;this->name=name;age=a;sex=s;}student(student& s){天猫优惠券,我就要券num=s.num;name=;age=s.age;sex=s.sex;}void display(){cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;}~student(){cout<<"析构函数学号:"<<num<<endl;}};int main(){student s1(1001,"张三",25,'f');student s2(s1);s1.display();s2.display();return 0;}11、#include<iostream>#include <string>using namespace std;class student{private:int num;string name;float score;static float sum;static int count;public:student(int num=0,string name="",float s=80) {this->num=num;this->name=name;score=s;count++;}void display(){cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"成绩:"<<score<<endl;}void total();static float average();};float student::sum=0.0;int student::count=0;void student::total(){sum+=score;}float student::average(){return sum/count;}int main(){student s[3]={student(1001,"张三",87),student(1002,"李四"),student(1003,"王五",90)};for (int i=0;i<3;i++){s[i].total();}cout<<"平均成绩:"<<student::average()<<endl;return 0;}12、#include<iostream.h>// #include <string>// using namespace std;class Time{private:int hour;int minute;int second;public:Time(int h=12,int m=0,int s=0){hour=h;minute=m;second=s;}friend void display(Time&);};void display(Time& t){cout<<t.hour<<"时"<<t.minute<<"分"<<t.second<<"秒"<<endl; }int main(){Time t,t1(13,12,22);display(t);display(t1);return 0;}13、(1)//方法1:多次重载+#include<iostream.h>// #include <string>// using namespace std;class Complex{private:float real;float image;public:Complex(float real,float image){this->real=real;this->image=image;}Complex(){real=0;image=0;}friend Complex operator+(Complex &a,Complex &b); friend Complex operator+(Complex &a,float b); friend Complex operator+(float a,Complex &b);friend ostream& operator<<(ostream& output,Complex a); friend istream& operator>>(istream& input,Complex a);};Complex operator+(Complex &a,Complex &b){return Complex(a.real+b.real,a.image+b.image);}Complex operator+(Complex &a,float b){return Complex(a.real+b,a.image);}Complex operator+(float a,Complex &b){return Complex(b.real+a,b.image);}ostream& operator<<(ostream& output,Complex a){if (a.image>0){output<<a.real<<"+"<<a.image<<"i"<<endl;}else{output<<a.real<<a.image<<"i"<<endl;}return output;}istream& operator>>(istream& input,Complex a) {input>>a.real>>a.image;return input;}int main(){Complex a(3,4),b(1,2),c,d,e,f;c=a+b;d=a+5;e=3+b;cout<<c<<endl;cin>>f;cout<<f<<endl;return 0;}//方法2:使用转换构造函数实现#include<iostream.h>class Complex{private:float real;float image;public:Complex(float real,float image) {this->real=real;this->image=image;}Complex(){real=0;image=0;}//定义转换构造函数Complex(float r){real=r;image=0;}friend Complex operator+(Complex &a,Complex &b); friend ostream& operator<<(ostream& output,Complex a); friend istream& operator>>(istream& input,Complex a);};Complex operator+(Complex &a,Complex &b){return Complex(a.real+b.real,a.image+b.image);}ostream& operator<<(ostream& output,Complex a){if (a.image>0){output<<a.real<<"+"<<a.image<<"i"<<endl;}else{output<<a.real<<a.image<<"i"<<endl;}return output;}istream& operator>>(istream& input,Complex a) {input>>a.real>>a.image;return input;}int main(){Complex a(3,4),b(1,2),c,d,e,f;c=a+b;d=a+5;e=3+b;cout<<c<<endl;cin>>f;cout<<f<<endl;}(2)#include <iostream>using namespace std;class Time{public:Time(){minute=0;sec=0;}Time(int m,int s):minute(m),sec(s){}Time operator++();Time operator++(int);void display(){cout<<minute<<":"<<sec<<endl;} private:int minute;int sec;};天猫优惠券,我就要券Time Time::operator++(){if(++sec>=60){sec-=60;++minute;}}Time Time::operator++(int) {Time temp(*this);sec++;if(sec>=60){sec-=60;++minute;}return temp;}int main(){Time time1(34,59),time2; cout<<" time1 : ";time1.display();++time1;cout<<"++time1: ";time1.display();time2=time1++;cout<<"time1++: ";time1.display();cout<<" time2 : ";time2.display();return 0;}14、#include<iostream>#include <string>using namespace std;class Date{private:int year;int month;int day;public:Date(int y=2013,int m=1,int d=1){year=y;month=m;day=d;}void display(){cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}};class person{private:string name;int age;char sex;public:person(string n,int a,char s){name=n;age=a;sex=s;}void display(){cout<<"姓名:"<<name<<endl;.cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;}};class student:public person{public:student(string n,int a,char s,string maj,int y,int m,int d ):person(n,a,s),enterdate(y,m,d){major=maj;}void display(){person::display();cout<<"专业:"<<major<<endl;cout<<"入学日期:";enterdate.display();}string major;Date enterdate;//入学日期};int main(){student s("张三",20,'f',"通信",2012,9,6);s.display();return 0;}15、#include<iostream>#include <string>using namespace std;class Date{private:int year;int month;int day;Date(int y=2013,int m=1,int d=1){year=y;month=m;day=d;}void display(){cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}};class person{private:string name;int age;char sex;public:person(string n,int a,char s){.name=n;age=a;sex=s;}void display(){cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;}};class student:public person{public:student(string n,int a,char s,string maj,int y,int m,int d ):person(n,a,s),enterdate(y,m,d){major=maj;}void display()person::display();cout<<"专业:"<<major<<endl;cout<<"入学日期:";enterdate.display();}private:string major;Date enterdate;//入学日期};天猫优惠券,我就要券class teacher:public person{public:teacher(string n,int a,char s,string t,float w):person(n,a,s) {title=t;wage=w;}void display()person::display();cout<<"职称:"<<title<<endl;}private:string title;float wage;};int main(){student s("张三",20,'f',"通信",2012,9,6);s.display();teacher t("李四",30,'m',"讲师",3000);t.display();return 0;}16、#include<iostream>#include <string>using namespace std;class Date{private:int year;int month;int day;public:Date(int y=2013,int m=1,int d=1){year=y;month=m;day=d;}void display(){cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl;}};class person{string name;int age;char sex;public:person(string n,int a,char s){name=n;age=a;sex=s;}void display(){cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性别:"<<sex<<endl;}};class student:virtual public person{student(string n,int a,char s,string maj,int y,int m,int d ):person(n,a,s),enterdate(y,m,d){major=maj;}void display(){person::display();cout<<"专业:"<<major<<endl;cout<<"入学日期:";enterdate.display();}private:protected:string major;Date enterdate;//入学日期};class teacher:virtual public person{teacher(string n,int a,char s,string t,float w):person(n,a,s){title=t;wage=w;}void display(){person::display();cout<<"职称:"<<title<<endl;}private:protected:string title;float wage;};class graduate:public student,public teacher{public:graduate(string n,int a,char s,string maj,int y,int m,int d,string t,float w,string g):person(n,a,s),student(n,a,s,maj,y,m,d),teacher(n,a,s,t,w)grade=g;}void display(){person::display();cout<<"专业:"<<major<<endl;cout<<"入学日期:";enterdate.display();cout<<"职称:"<<title<<endl;cout<<"年级:"<<grade<<endl;}protected:private:string grade;};int main(){student s("张三",20,'f',"通信",2012,9,6);s.display();teacher t("李四",30,'m',"讲师",3000);t.display();graduate g("王五",28,'f',"计算机",2008,9,6,"助教",1500,"研二");g.display();return 0;}17、#include<iostream>#include <string>using namespace std;class Shape{public:virtual void area()=0;};class Circle:public Shapepublic:Circle(double r):radius(r){}virtual void area(){cout<<"Circle area:"<<3.1415*radius*radius<<endl;}protected:double radius;};class Square:public Shape{public:Square(double s):side(s){}virtual void area(){cout<<"Square area:"<<side*side<<endl;}protected:double side;};class Rectangle:public Shape{public:Rectangle(double w,double h):width(w),height(h){}virtual void area(){cout<<"Rectangle area:"<< width*height<<endl;}protected:double width,height;};class Trapezoid:public Shape{public:Trapezoid(double t,double b,double h):top(t),bottom(b),height(h){} virtual void area(){cout<<"Trapezoid area:"<<0.5*(top+bottom)*height<<endl;}protected:。