实验一 类与对象.docx
- 文档编号:24896561
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:21
- 大小:231.28KB
实验一 类与对象.docx
《实验一 类与对象.docx》由会员分享,可在线阅读,更多相关《实验一 类与对象.docx(21页珍藏版)》请在冰豆网上搜索。
实验一类与对象
C++面向对象程序设计课程实验报告
课程名称
C++面向对象程序设计
班级
实验日期
2014.3.28
姓名
学号
实验成绩
实验名称
实验一类与对象
实
验
目
的
及
要
求
1.理解并掌握类的定义、实例化的方法。
2.了解类的构造函数和析构函数。
3.学习类成员访问控制的运用。
4.了解类的常数据成员和常成员函数。
5.了解类的静态数据成员和静态成员函数。
6.理解友元函数和友元类;掌握友元函数的使用。
实
验
环
境
硬件平台:
PC机
软件平台:
Windows操作系统
编程环境:
VisualC++6.0,或DEV-cpp
实
验
内
容
1.求出1000以内的所有素数及素数的个数。
2.编写一个程序,输入年、月、日,打印出该天是那年的第几天。
3.编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数。
4.设计一个立方体类Box,它能计算并输出立方体的体积和表面积。
实验提示:
Box类包含有三个私有数据成员,即a(立方体边长)、volume(体积)和area(表面积),另有两个构造函数以及函数seta()(设置立方体边长)、getvolume()(计算体积)、getarea()(计算表面积)和disp()(输出结果)。
5.定义一个Book(图书)类,在该类定义中包括:
(1)数据成员:
bookname(书名)、price(价格)、和number(存书数量)。
(2)成员函数:
display()显示图书的情况;borrow()将存书数量减1,并显示当前存书数量;restore()将存书数量加1,并显示当前存书数量。
(3)在main函数中,要求建立某一种图书对象,并对该书进行简单的显示、借阅和归还管理。
6.改造实验1中的CMoney类,把其中的4个构造函数整合为一个构造函数。
7.运行程序,分析继承下构造函数的调用。
算
法
描
述
及
实
验
步
骤
算法描述:
1)该题主要分为两步,一是要判断一个数是否为素数(从1到1000逐一判断)并输出素数;二是要定义一个变量用来储存素数的个数,每判断出一个素数,该变量自加。
主函数:
intmain()
{
ints=0,i;
for(i=2;i<=1000;i++)
{
if(Prime(i))//调用用来判断是否为素数的函数
{
cout<
s++;//s表示素数的总个数
}
}
cout<<"1000以内素数的个数为:
"<
return0;
}
intPrime(intn)
{
inti,t=0;
for(i=2;i { if(n%i==0) { t=1; break; } } if(t==1) {return0; } else {return1; } 2)该题主要有两点需要注意,一是判断输入的年份是否为闰年,这与二月是28天还是29天密切相关,若输入的月份在二月以后则需要用到这一点;二是定义数组用来储存一年中每个月的天数Leapyear(intyear)//判断是否为闰年的函数 { if(year%4==0&&year%100! =0||year%400==0) return1; else return0; } 二维数组储存一年中每个月的天数,分闰年和平年: Intx[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}} 主函数: intmain() { intyear,month,day,sum=0,leap,i; cout<<"请输入年月日"< cin>>year>>month>>day; if(Leapyear(y))//调用函数 { leap=1; } else leap=0; for(i=0;i { sum+=a[leap][i];//应用二维数组 } sum+=day; cout<<"该天是"< return0; } 3)该题有三点需要注意,一是定义四个int型变量分别用来储存字母数字空格和其他字符的总数;二是逐一对字符进行类型判断,每判断出一个就在相应的变量自加: 三是注意字符是否结束,即“\0” 定义四个变量: ints1=0,s2=0,s3=0,s4=0; 对字符逐一判断: while(s[i]! ='\0') { if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')//字母 s1++; elseif(s[i]>='0'&&s[i]<='9')//数字 s2++; elseif(s[i]=='')//空格 s3++; else//其他字符 s4++; i++; } 字符是否结束: while(s[i]! ='\0') 4)该题主要有三个主要步骤,一是建立一个Box类,公有成员函数包括缺省构造函数、初始化构造函数、函数seta()(设置立方体边长)、getvolume()(计算体积)、gerarea()(计算表面积)和disp()(输出结果),私有数据成员包括: a(立方体边长)、volume(体积)和area(表面积);二是在类外对每个函数进行定义和功能上的设置;三是在main函数中调用函数,实现计算并输出立方体的体积和表面积的功能。 重点建立一个Box类: classbox { public: //共有成员 box(doublex) { a=x; } box(box&p) { a=p.a; } voidseta(doubley) { a=y; } voidgetvolume() { volume=a*a*a; } voidgetarea() { area=6*a*a; } voiddisp() {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 类与对象 实验 对象