- 博客(20)
- 收藏
- 关注
原创 实验十 异常处理
实验目的和要求1.正确理解C++的异常处理机制。2.学习异常处理的声明和执行过程。实验内容1.下面是一个文件打不开的异常处理程序,分析程序并完成相应问题。(1)若磁盘中没有myfile.txt文件,则输出结果如何?(2)在硬盘上建一个myfile.txt文件,其文件内容自己定义。输出结果如何?2、声明一个异常类Cexception,有成员函数what(),用来显示异常的类型,在子函数中触发异常,在...
2018-06-22 17:42:44 346
原创 实验9九 I/O流
实验目的和要求1.掌握格式化的输入输出方法。2.熟悉系统提供的输入操作函数。3.掌握磁盘文件的输入输出方法。实验内容1.程序sy9_1.cpp用以打印表中的数据,但程序中存在逻辑错误。上机调试后写出正确的代码。原程序如下:修改后程序:输出结果:2.编程实现下面要求:(sy9_2.cpp)以左对齐方式输出整数40000,域宽为15。打印有符号数和无符号数100。将十进制整数100以0x开头的十六进制...
2018-06-22 17:35:16 387
原创 第九章课后
习题一、填空题(1)运行异常,可以 预料 ,但不能避免,它是由 系统运行环境 造成的。(2)在小型程序开发中,一旦发生异常所采取的方法一般是 将程序立即中断运行,从而无条件释放所有资源 。(3)C++的异常处理机制使得异常的引发和处理 不必 在同一函数中。(4)如果预料某段程序(成对某个函数的调用)有可能发生异常,就将它放在 try语句块 中。(5)如果...
2018-06-22 17:07:25 274
原创 实验八模板
实验目的和要求1.能够使用C++模板机制定义重载函数。2.能够实例化及使用模板函数。3.能够实例化和使用模板类。4.应用标准C++模板库(STL)通用算法和函数对象实现查找和排序。实验内容1.分析并调试下列程序,了解函数模板的使用。(1)写出运行结果,分析编译系统工作过程。程序输出结果如下:答:这个程序就是将a和b进行比较,输出两个数中大的数,主函数中 cout<<"max(6,5)i...
2018-06-22 16:45:18 462
原创 第八章课后
一、填空题(1)在C++的输入输出系统中,最核心的对象是 流 。执行输入和输出操作的类体系叫做 流类 。(2)当实际进I/O操作时,cin与 标准输入 设备相关联。(3)C++的流类库预定义了4个流,它们是 cin 、 cout 、 cer...
2018-06-22 16:28:19 435
原创 实验七运算符重载
实验目的和要求 熟悉运算符重载的定义和使用方法实验内容1.调试下列程序输出结果2.调试下列程序写出程序的输出结果,并解释分析与讨论 结合上题中的程序总结运算符重载的形式。答:运算符函数重载一般有两种形式:重载为类的成员函数和重载为类的非成员函数。非成员函数通常是友元。(可以把一个运算符作为一个非成员、非友元函数重载;但是,这样的运算符函数访问类的私有和保护成员时,必须使用类的公有接口中提供的...
2018-06-22 16:12:47 435
原创 第七章课后
习题一、名词解释函数模板:一个带类属参数的函数;类模板:一个带类属参数的类;模板函数:通过参数实例化可以再构造出具体的函数;模板类:通过参数实例化可以再构造出具体的类;二、填空题(1)C++支持两种模板,一种是 函数模板 ,另一种是 类模板 。(2)关键字 template 是定义模板的关键字。(3)<模板参数表>中包含一个或多个用逗号分开的模...
2018-06-22 15:59:27 279
原创 实验六
实验目的和要求 了解静态联编的动态联编的概念。掌握动态联编的条件。实验内容1.分析并调试下列程序。(1)找出以上程序中使用了重载和覆盖函数。答:Base类中函数void g(); 和void h();与Derived类中的函数void g(); 和void h();函数名相同,参数类型不同,构成了函数重载。(2)写出程序的输出结果,并解释输出结果。程序的输出结果如下:2. 分析并调试下列程序...
2018-06-21 11:24:49 724
原创 第六章课后
习题一、填空题(1)运算符的重载实际上是 函数 的重载。(2)运算符函数必须被重载为 非静态成员函数 ,或被重载为 友元函数 。(3)成员函数重载运算符需要的参数的个数总比它的操作数 少 一个。(4)重载赋值运算符时,通常返回调用该运算符的 对象的引用 ,这样赋值就能进行连续赋值操作。(5)重载“[ ]”...
2018-06-21 11:05:45 217
原创 实验五 继承与派生
实验目的和要求1.掌握派生类的定义方法的和派生类构造函数定义方法。2.掌握在不同继承方式的情况下,基类成员在派生类中的访问权限。3.掌握在多继承方式的情况下,构造函数与析构函数的调用时机与顺序。实验内容1.调试下列程序,并在对程序进行修改后再调试,指出调试中出错原因。按下列要求对程序进行修改,然后调试,对出现的错误分析其原因。(1)将派生类B的继承方式改为private时,会出现哪些错误和不正常现...
2018-06-21 10:47:29 963
原创 第五章课后
习题一、填空题(1)C++的两种联编方式为: 静态 联编和 动态 联编。(2)C++支持两种多态性,静态联编所支持的多态性被称为 编译时的多态性 、动态联编所支持的多态性被称为 运行时的多态性 。(3)重载函数在编译时表现出多态性,就是 静态 联编;而虚函数则在运行时表现出多态性是 动态 联编。(4)为了区分重载函数,把一个派生类中重定义基类的虚函数称为 覆盖 。(...
2018-06-19 11:24:23 290
原创 第四章课后
一、填空题(1)如类果类A继承了B,那么类A被称为 基 类,而类B被称为 派生 类。(2)C++++++的两种继承为: 单继承 和 多继承 。(3)在默认情况下的继承方式为 私有继承方式 。(4)从基类中公有派生一个类时,基类的公有成员就成为派生类的 公有 成员,而这个基类的保护成员就成为派生类的 保护成员。(5)C++提供了 多继承 ...
2018-05-01 20:28:09 198
原创 实验四
1,调试下列程序,写出输出结果,并分析。分析:非静态数据成员从属于某个类,而静态数据成员从属于整个类。执行语句1时调用构造函数,使得对象P、Q的数据成员A的值分别是6和8,因此fun ()中输出数据成员A的值分别是6和8。数据成员B的初始值为100,执行语句1,创建对象P,B的值改变为94,再创建对象Q时,B的值改变为86,因此fun()中输出的数据成员B的值都是86,所以输出结果为A=6 B=8...
2018-05-01 13:10:55 335
原创 实验三
1、下面程序sy3_1.cpp中用ERROR标明的语句有错,在不删除和增加代码行的情况下,改正错误语句,使其正确运行错误代码如下:错误代码运行如下:修改程序后运行如下2,调试下列程序(1)在该程序中,将TPoint类的带有两个参数的构造函数进行修改,在函数体内增加下述语句:cout<<"Constructor is called.\n";(1)写出程序的输出结果,并解释输出结果。修...
2018-05-01 11:59:49 1289
原创 第三章
1. 析构函数必须由用户定义一填空题(1)类定义中关键字private.public和protected以后的成员的访问权限分别是(公有)和(私有)。如果没有使用关键字,则所有成员默认定义为(private)权限。具有(public)访问权限的数据成员才能被不属于该类的函数所直接访问。(2)定义成员函数时,运算符“::”是(作用域)运算符,“MyClass::"用于表明其后的成员函数是在“(M...
2018-04-09 12:20:48 470
原创 实验二
一、实验目的和要求1.熟悉引用的概念,掌握引用的定义和方法,学会引用在C++++++程序中的应用。2.掌握函数的定义和调用方法。3.练习重载函数的使用。二、实验内容1.调试下列程序,写出输出结果,并解释输出结果(1)(2)(3)2.编程完成下列任务(1)编写一个函数,用于将华氏温度转换为摄氏温度,转换公式为:C=(F-32)*5/9。(sy2_4.cpp)编写程序如下:(2)编写重载函数max...
2018-04-08 23:12:11 264
原创 第一章程序运行补图
经过安装了很多文本编译器,安装了三个版本,其中有visual c++ 6.0,visual2010,和DEV C++,安装了最后一个才能编译运行出来,现在补图,其他两个不知道是什么原因,运行时说找不到文件,好吧,我已经尽力了。然后就把第一章的程序运行截图...
2018-03-21 19:01:06 160
转载 第二章书上题目
一、名词解释 引用:所谓引用,就是给对象起一个别名,使用该别名可以存取该对象。换句话说,是使新对象和原对象共用一个地址。 内联函数:内联函数是使用inline关键字声明一个函数。 重载函数:重载函数通常用来对具有相似行为而数据类型不同的操作提供—个通用的名称二、填空题(I)一般情况下,用C++语言编写的程序是由函数加上类组成的(2)C++有两种注释符号,一种是 // 另一种是 /*„„*/ ...
2018-03-21 18:51:29 352
原创 实验一
第一题sy1_1.cpp错误,没有声明,定义正确的如下sy1_2.cpp错误修改后sy1_3.cpp错误正确的修改后苐二题:分析与讨论一,基本结构二, 从实验内容第一题种出现的错误的修改,总结出编程时应该注意哪些问题。文件包含命令:针对名字空间的指令三.,C++程序中所出现的变量是否都必须先说明后使用?说明变量时是否都应该放在函数体的开头。解,C++程序中所出现的变量必须先说明后使用。在函数体内说...
2018-03-20 20:20:21 195
翻译 习题第一章
名词解释一、抽象封装消息抽象:面向对象方法中的抽象是指对具体问题(对象) 进行概括,抽出- -类对象的公共性质并加以描述的过程。封装:面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成- 一个独立的单位,并尽可能隐蔽对象的内部细节。消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。二、填空题(I) 目前有面向过程的结构化程序...
2018-03-20 12:17:48 288
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人