没有合适的资源?快使用搜索试试~ 我知道了~
C++编程题_必练.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 103 浏览量
2023-02-26
20:30:21
上传
评论
收藏 38KB DOCX 举报
温馨提示
试读
28页
,
资源推荐
资源详情
资源评论
C++编程题_必练
C++程序设计实验讲义
软件学院 C++教学团队
目录
实验1 C++基
础 .....................................................................
............................................. 3 实验2 类的定义与应
用 .....................................................................
................................. 5 实验3 this 指针、常量和静态成员和友
元函数的使用 ..................................................... 9 实
验 4 运算符重
载 .....................................................................
......................................... 14 实验5 派生与继
承 .....................................................................
......................................... 16 实验6 多态
性 .....................................................................
................................................. 19 实验7 模
板......................................................................
.................................................... 23 实验8 IO
流 .....................................................................
................................................. 25 实验9 windows 程序
设
计 .....................................................................
........................... 27
实验1 C++基础
1(实验目的和要求
目的:快速掌握 C++语言编程的方法,了解 C++的增强功能,主要内容有:(1)输
入流、
输出流的使用;(2)重载、默认参数;(3)引用;(4)new 和 delete 运算符分配内
存。 2(实验内容:
(1) 编写一个用输入和输出流运算符进行的输入和输出的程序。从键盘输入两
个数,
分别对两个数进行加,减,乘和除的运算。并输出计算结果,如:
23+123=146。 (2) 用 new 和 delete 运算符动态分配内存空间的方法编写程序。从
键盘输入 3,3 整型
数组的数据,并计算出所有元素之和,打印出最大值和最小值。输入输出要用
流
运算符实现。
(3) 编写 C++风格的程序,解决百钱问题:将 1 元人民币兑换成 1,2,5 分的人民
币,有
多少种换法,
(4) 在主函数中定义 2 个整型元素 a,b,用引用作函数参数的方法,在函数
void swap(int
& x, int & y)中实现将数据交换存放,并在主函数中打印出来。 (5) 假设我
们班有 50 名同学,每个同学都报出自己的生日, 每个同学的生日都不相重
-7 的概率只有 0.0296,如果有 100 个同学,不相重的概率为 3.0725,10。相
重复的
概率如此之大与我们主观想象不同。写一个程序,输入同学的人数 n 计算出其
生
算
日不重复的概率。然后在用彷真的方法, 利用随机数产生每个同学的生日,计
出生日不重复的概率并与前面的结果进行比较。
[学生的生日可以用随机数产生,rand()产生 0—32767 之间的伪随机数,因为
此需要一个种子,种子不同产生的随机数列不同,rand()产生的随机数也不同,可
以调用 srand(long int *)函数设置种子,比如我们可以获得计算机中的时间获得
随机数种子, 以上函数需要包含头文件 stdlib.h]
3(思考题:
结合上机的体会,回答下列问题.
(1)C++引入了 I/O 流运算符,与 C 语言相比,它们好处是什么,
(2)引用是 C++的很重要的功能,在函数定义中,如何使用引用,
(3)函数重载设计不当会产生二义性问题,二义性主要体现在参数隐式类型转
换和默认参数两个方面,举例说明两个问题,你认为该如何解决。
(4)C++中 define 与 const 定义常量有什么区别,
实验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_sub(Rational & A); //减
Rational R_mul(Rational & A); //乘
Rational R_div(Rational & A); //除
void print(); //以简分数形式显示,注意约分
private:
void simple( ); //约分
int m; //分母
int n; //分子
};
(5) 定义一个类包含一个整型数的指针变量,在构造函数中用 new 分配 10 个
整型数的
内存空间,在析构函数中用 delete 释放内存空间,并编写给内存空间赋值和
输出的成员函数。
(6) 完成 String 类
class String
{
public:
String(const char *str = NULL); //普通构造函数
String(const String &other); //拷贝构造函数
~ String(); //析构函数
private:
char *m_data; // 用于保存字符串
};
完成 String 的 3 个成员函数,并编写一个主函数,在主函数中对所编写的成
员函数进
行测试。
(7)完成 Array 类
class Array
剩余27页未读,继续阅读
资源评论
G11176593
- 粉丝: 6643
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功