电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

c++实验精编

22页
  • 卖家[上传人]:小**
  • 文档编号:89122725
  • 上传时间:2019-05-18
  • 文档格式:DOC
  • 文档大小:69.50KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、C+程序设计实验讲义软件学院C+教学团队目录实验1 在小范围内用C+增强C的功能3实验2 类的定义与应用5实验3 this指针、常量和静态成员和友元函数的使用8实验4 派生与继承13实验5 多态性16实验6 IO流上机实验20实验7 运算符重载、模板22实验8 windows程序设计25实验1 在小范围内用C+增强C的功能1 实验目的和要求目的:快速掌握C+语言编程的方法,在小范围内增强C+的功能,主要内容有:(1)输入流、输出流的使用;(2)函数原型;(3)new和delete运算符分配内存。2实验内容:(1) 编写一个用输入和输出流运算符进行的输入和输出的程序。从键盘输入两个数,分别对两个数进行加,减,乘和除的运算。并输出计算结果,如: 23+123=146。(2) 用new和delete运算符动态分配内存空间的方法编写程序。从键盘输入33整型数组的数据,并计算出所有元素之和,打印出最大值和最小值。输入输出要用流运算符实现。(3) 编写C+风格的程序,解决百钱问题:将1元人民币兑换成1,2,5分的人民币,有多少种换法?(4) 在主函数中定义2个整型元素a,b,用引用作函数参数的方法

      2、,在函数void swap(int & x, int & y)中实现将数据交换存放,并在主函数中打印出来。(5) 假设我们班有50名同学,每个同学都报出自己的生日, 每个同学的生日都不相重的概率只有0.096,如果有100个同学,不相重的概率为3.072510-7。相重复的概率如此之大与我们主观想象不同。写一个程序,输入同学的人数n计算出其生日不重复的概率。然后在用彷真的方法, 利用随机数产生每个同学的生日,计算出生日不重复的概率并与前面的结果进行比较。 学生的生日可以用随机数产生,rand()产生032767之间的伪随机数,因为此需要一个种子,种子不同产生的随机数列不同,rand()产生的随机数也不同,可以调用srand(long int *)函数设置种子,比如我们可以获得计算机中的时间获得随机数种子, 以上函数需要包含头文件 stdlib.h 3 思考题:结合上机的体会,回答下列问题.(1) C+引入了I/O流运算符,与 C语言相比,它们好处是什么?(2) 与C语言的动态分配内存函数相比,C+的new 和delete运算符的优点是什么?(3) 引用是C+的很重要的功能,在函数定义中

      3、,如何使用引用,会实现怎样的效果?实验2类的定义与应用1、实验目的和要求: 掌握类定义的方法,理解类类型,实例的含义,体会面向对象程序设计中数据隐藏的概念。理解构造函数和析构函数的作用和运行实际,掌握拷贝构造函数的作用。并熟练掌握复杂对象类型的运用。2、实验内容:(1)定义一个时间类Time,它能提供由时分秒组成的时间。要求能够修改时间和打印出时间。(2)编写一个计数器类,定义一个私有数据成员,通过两个成员函数,分别使其完成加1和减1操作。用构造函数数据成员初始化为0,输出函数可以输出数据成员函数的值。(3)设计一个时间类,要求包含以下功能:数据成员:时、分、秒成员函数:各种构造函数析构函数可以通过函数分别设置时间的各个组成部分也可以整体设置时间有一个tick函数,负责给当前时间加1秒钟,然后输出新的时间(4)定义一个分数类如下,要求实现各个成员函数,并在主函数中测试两个分数的加减乘除等运算。class Rational public: Rational(int nn=1,int mm=1);/构造Rational R_add(Rational & A);/加 Rational R_s

      4、ub(Rational & A);/减 void R_mul(Rational & A);/乘 void R_div(Rational & A, Rational &B);/除void simple( );/约分void print();/以分数形式显示,注意约分 private: int m; / 分母int n; / 分子;(5)定义一个类包含一个整型数的指针变量,在构造函数中用new分配10各整型数的内存空间,在析构函数中用delete释放内存空间,并编写给内存空间赋值和输出函数。(6)编写类String 的构造函数、析构函数已知类String 的原型为:class Stringpublic:String(const char *str = NULL); / 普通构造函数String(const String &other); / 拷贝构造函数 String(void); / 析构函数private:char *m_data; / 用于保存字符串;请编写String 的上述3个函数。并编写一个主函数,在主函数中对所编写的成员函数进行测试。(7)定义和实现类Array。数据成员有包

      5、含了10个元素的数组,成员函数GetData,有一个整形数参数i,函数返回下标为i的元素值,对一个数组元素的引用,成员函数Print打印出数组的值。构造函数将数据成员的所有数组元素初始化为0。还有一个input成员函数为数组赋值。(8) 定义类Point.要求定义类对象时,可以有这样的定义语句: Point p1(1,2),p2(p1);#include class Point public:Point (int a, int b) x=a;y=b;void fun (Point &p);void fun (Point * p);private:int x,y;;void fun (Point &p)x=p.x ;y=p.y ;cout The fun(Point &p) x ;y=p-y ;cout Fun (Point *p) endl ;Void main()Point p(1,2),q(3,4) ;p.fun(q) ;q.fun(&q) ;改正程序中小的错误,给出程序运行的结果,并对程序进行分析。3、思考题:结合编程实践回答下列的问题。(1) 结合第一个例子,说明什么是类?什么

      6、是对象?你是如何理解类和对象的?(2) 面向对象的程序设计与结构化程序设计有何不同?(3) 拷贝构造函数那些情况下会被调用,分别给出例子?实验3 this指针、常量和静态成员和友元函数的使用1、 实验目的和要求:(1) 掌握显式使用this指针的方法(2) 掌握静态数据成员的意义及使用方法(3) 掌握常量数据成员和常量成员函数的意义和使用方法(4) 掌握友元函数和友元类的使用方法2、 实验内容:(1)有如下类的定义。类成员函数copy用于实现两个对象的相互拷贝,请完成该函数的实现。(有两种方法即不用this 指针和用this指针)include class Myclass public: Myclass (int a,int b) x=a;y=b; Void copy(Myclass & my);void print( ) cout“x=”xendl; cout”y=”yendl; private:int x,y; void main() Myclass my(10,20),t(30,40); my.print( );my. Copy(t);my.print( );(2)设计一个类,实

      7、现两个复数的四则运算。实现加减乘除功能的函数用友元函数实现。(3)分析下面程序,给出横线部分的语句,并分析程序的输出,和m_count的功能。 #include using namespace std;class A static int m_counter; public:A();A();static void display(); /将m_counter初始化为0;A:A()m_counter+;A:A()m_counter-;void A:display()cout”There are:”A:m_counter”objects of class A.n”;int main()A a1;A a2;A a3; A:display();a1.display();(4)商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,单价不一样,因此商店需要记录下目前库存的货物的总重量和总价值。编写一个程序,通过定义类Carlo来模拟商店货物购进和卖出的情况。(本题目主要练习静态数据成员的使用,定义私有变量存每件货物的价格和重量,用静态数据成员存货物的总重量和总价钱,

      8、定义构造函数和析构函数,当定义新的对象完成初始化的功能和删除对象时,从总重量和总价钱中减去对象的重量和价格)(5) 静态成员练习1)。编写一个类Node,声明一个数据成员member和已经静态成员count,另构造函数初始化数据成员,并把静态数据成员加1,另析构函数把静态数据成员减1。2)。在1)的基础上编写应用程序,创建3个对象,然后显示他们的数据成员和静态成员,再析构每个对象,并显示他们对静态数据成员的影响。3)。修改2),让静态成员函数访问静态数据成员,并让静态数据成员是私有的。(6)个类分别为整型数集合类和实型数集合数类。将缺少的内容补齐。并完成要求的其它内容。如:class Intset private:int num3;public:Intset ( int x,int y, int z)/添加初始化内容void print( ) /打印数据 ;class floatset private:float num3;public:floatset ( float x,float y, float z)/添加初始化内容void print( ) /打印数据;(1) 在Intset中再增加一个成员函数,将对象的整型数据拷贝的到floatset的对象中此成员函数的原型为:void settofloat(floatset &set); /形参为拷贝的目标对象(2) 办法需要调用函数,程序的开销较大,可以定义一个友元函数来实现上述的功能。请分别完成两个程序。(7)分析以下程序的功能,把程序用三种方法(公有数据成员、友元、用成员函数访问私有数据成员)补充完整,实现

      《c++实验精编》由会员小**分享,可在线阅读,更多相关《c++实验精编》请在金锄头文库上搜索。

      点击阅读更多内容
    新上传的WORD文档
    2023年度山西省太原市万柏林区乡镇中医执业助理医师考试之中医临床医学通关考试题库带答案解析 2023年度山西省乡镇中医执业助理医师考试之中医临床医学模考模拟试题(全优) 2023年度山西省吕梁市方山县乡镇中医执业助理医师考试之中医临床医学典型题汇编及答案 2023年度山西省吕梁市方山县乡镇中医执业助理医师考试之中医临床医学模拟题库及答案 2023年度山西省临汾市襄汾县乡镇中医执业助理医师考试之中医临床医学真题练习试卷A卷附答案 2023年度山西省乡镇中医执业助理医师考试之中医临床医学过关检测试卷A卷附答案 2023年度山西省吕梁市汾阳市乡镇中医执业助理医师考试之中医临床医学综合检测试卷B卷含答案 2014学年第二学期初三语文试题卷 2023年度山西省太原市尖草坪区乡镇中医执业助理医师考试之中医临床医学综合练习试卷B卷附答案 2023年度山西省太原市古交市乡镇中医执业助理医师考试之中医临床医学考前练习题及答案 2023年度山西省吕梁市临县乡镇中医执业助理医师考试之中医临床医学自测提分题库加答案 电气工程自我介绍合集7篇 上半年网络工程师试卷参考答案与解析 2023年度广西壮族自治区桂林市阳朔县乡镇中医执业助理医师考试之中医临床医学考前冲刺模拟试卷B卷含答案 2023年度山西省太原市万柏林区乡镇中医执业助理医师考试之中医临床医学模拟题库及答案
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.