实验1 C++基础以及抽象数据类型

上传人:痛*** 文档编号:137177012 上传时间:2022-08-18 格式:DOC 页数:6 大小:55.50KB
收藏 版权申诉 举报 下载
实验1 C++基础以及抽象数据类型_第1页
第1页 / 共6页
实验1 C++基础以及抽象数据类型_第2页
第2页 / 共6页
实验1 C++基础以及抽象数据类型_第3页
第3页 / 共6页
资源描述:

《实验1 C++基础以及抽象数据类型》由会员分享,可在线阅读,更多相关《实验1 C++基础以及抽象数据类型(6页珍藏版)》请在装配图网上搜索。

1、实验1 C+基础以及抽象数据类型一、题目第一题: 减法【题目描述】给两个正整数 A 和B,输出它们的差C=A-B。【输入】输入仅包含一行,有两个正整数 A 和B。【输出】输出仅包含一行,有一个正整数 C。【样例输入】100 200【样例输出】-100第二题: 用C+的类声明定义“复数”的抽象数据类型【题目描述】试用C+的类声明定义”复数”的抽象数据类型.要求:(1) 在复数内部用浮点数定义它的实部和虚部。(2) 实现一个构造函数:将两个双精度浮点数分别赋给复数的实部和虚部。(3) 定义获取和修改复数的实部与虚部,以及+法运算的成员函数。(4) 定义重载的流函数来输出一个复数。【输入】输入包含2

2、行,每行包含有两个浮点数,每行表示一个复数,第一个浮点数是实部,第二个浮点数是虚部。【输出】输出求和之后的复数。【样例输入】1.45 2.782.1 3.2【样例输出】3.55+5.98i二、程序清单1、#include#includetemplate /函数模板T Sub(T a,T b)return (a-b);int main()int a,b;coutab;coutSub(a,b)endl;return 0;system(pause);2、/Ch_1.htemplate /类模板class Complexpublic:Complex(T a, T b) /构造函数,将两个双精度浮点数分

3、别赋给复数的实部和虚部。x = a;y = b; T get_x() /获取该复数的实部和虚部return x; T get_y()return y;void put_x(T a) /修改复数的实部与虚部 x=a;void put_y(T b) y=b;Complex operator+(Complex p); /+运算符重载private:T x;T y;/Ch_1.cpp#include#include#includeCh_1.htemplate Complex Complex:operator+ (Complex p)return Complex(x + p.x, y + p.y);te

4、mplate istream& operator(istream& in, Complex& p) /输入流重载double a, b;cout 请输入复数的实部和虚部:x , y a b;p.put_x(a);p.put_y(b);return in;template ostream&operator(ostream& output,Complex& p) /输出流重载cout这两个复数之和为:;double a,b;a=p.get_x();b=p.get_y();couta+biendl;return output;int main() /主函数Complex p1(0,0),p2(0,0

5、); cin p1;cin p2;Complex p3 = p1+p2;cout : missing storage-class or type specifiersD:Ch_1Ch_1.cpp(32) : error C2809: operator has no formal parametersD:Ch_1Ch_1.cpp(34) : error C2065: cout : undeclared identifierD:Ch_1Ch_1.cpp(34) : error C2297: : operator has no effect; expected operator with side-

6、effectD:Ch_1Ch_1.cpp(36) : error C2065: p : undeclared identifierD:Ch_1Ch_1.cpp(36) : error C2228: left of .put_x must have class/struct/union typeD:Ch_1Ch_1.cpp(37) : error C2228: left of .put_y must have class/struct/union typeD:Ch_1Ch_1.cpp(38) : error C2065: in : undeclared identifierD:Ch_1Ch_1.

7、cpp(44) : error C2677: binary : no global operator defined which takes type class Point (or there is no acceptable conversion)D:Ch_1Ch_1.cpp(45) : error C2677: binary : no global operator defined which takes type class Point (or there is no acceptable conversion)Ch_1.obj - 15 error(s), 2 warning(s)四

8、、运行结果:1、2、五、心得体会 1、本次实验主要是让我们复习巩固C+的知识,在有了将近一年的时间没有接触C+,遗忘了很多,此次实验帮助我回顾了之前的知识。C+的输入、输出,模板,类,构造函数,重载等都有了新的认识和掌握,特别是运算符的重载,在“”重载练习中,重新学会了运算符重载的方法及运用。 2、在第二个程序中,在调试是出现了许多问题,主要的问题是“”重载时参数传递没有搞清楚,“&”符号加或不加的区别是很大的。 3、还有在类模板中也出现了一些问题,之前在cpp文件中重载“”时Complex后没有加,之前调试许久都没有发现这个问题,后来仔细和书中例题对比才发现。细节是非常重要的,要注重细节。 4、通过此次实验也发现了一些问题,程序的编写能力比较低,在以后要勤动手,努力练习。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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