实验8-11
更新时间:2023-11-01 06:39:01 阅读量: 综合文库 文档下载
实验八 类和对象
一、 实验目的:
1. 通过实验掌握类和对象的概念及定义。 2. 掌握构造函数的设计,掌握对象的初始化。
3. 掌握拷贝构造函数、析构函数的作用和设计方法。 4. 能用OOP解决实际问题。
二、 实验学时
4学时
三、 实验内容
1.程序填空:
#include
#include < > using namespace std; class Stu
{ string Name; //学生姓名 float Chinese; //语文成绩 float Math; //数学成绩 public:
Stu(string s=\ { } float Average( ); //计算平均成绩 float Sum( ); //计算总分 void Show( ); //打印信息
void SetStudent(string,float ,float);//为对象置姓名、成绩 void SetName(string n){ ;} //为对象置姓名 string GetName( ){ } //取得学生姓名 };
float Stu::Average( ){ return ( }//平均成绩 float Stu::Sum( ){ return Chinese+Math; }//总分 void Stu::Show( ) //打印信息
{ cout<<\ \ \
Math<<'\\t'<<\ \ \ }
void Stu::SetStudent(string n,float chinese,float math) { Name=n; //置姓名
Chinese=chinese; //置语文成绩
Math=math; //置数学成绩 }
int main( ) { Stu p1,p2;
p1.SetStudent(\ qing\对象置初值 p2.SetStudent(\对象置初值 p1.Show();//打印信息 p2.Show();//打印信息
p1.SetName (\重新置p1对象的名字 p1.Show ();
cout<<\ \打印对象的名字 cout<<\ \打印对象的成绩 return 0; }
2、改写程序
有以下程序:
#include
public:
int hour; int minute; int sec; } ;
int main() {
Time t1;
cin>>t1.hour; cin>>t1.minute; cin>>t1.sec;
cout< 改写程序,要求: (1) 将数据矶员改为私有的; (2) 将输入和输出的功能改为由成员函数实现; (3) 在类体内定义成员函数。 (4) 然后编译和运行程序 3、程序设计 1) .定义人民币类RMB,要求能够通过构造函数进行对象初始化,能够通过拷贝构造函数用 已存在的对象构造新对象,能应用RMB对象进行简单的算术运算,包括计算XX元XX角XX分=XX.XX元,及其逆运算(例如,实现计算1.23元=1元2角3分,3元4角5分=3.45元)。 2) 已知一个源程序文件main.cpp.其中定义了用于表示日期的类Date,但类Date的定义并不完整.请按要求完成下列操作,将类Date的定义补充完整: (1) 定义私有数据成员year,month和day分别用于表示年,月,日,它们都是int型的数据.请在注释\之后添加适当的语句. (2) 完成默认构造函数Date的定义,使Date对象的默认值为:year=1,month=1,day=1,请在注释\* 2 * *"之后添加适当的语句. (3) 完成重载构造函数Date(int y,int m,int d)的定义,把数据成员year,month和day分别初始化为参数y,m,d的值,请在注释"//* * 3 * *"之后添加适当的语句. (4) 完成成员函数print的类外定义,使其以"年-月-日"的格式将Date对象的值输出到屏幕上.请在注释"//* * 4 * *"之后添加适当的语句. 注意:除在指定位置添加语句之外,请不要改动程序中的其他内源程序文件main.cpp清单如下: //main.cpp #include public: //* * 2 * * Date(int y,int m,int d) { //* * 3 * * } void print() const; private: // date members //* * 1 * * }; void Date::print()const { //* * 4 * * } int main() { Date national_day(1949,10,1); national_day.print(); return 0; } 3) 定义类GcdLcm实现:对两个整数m和n,计算其最大公约数和最小公倍数。 实验九 类的静态成员和友元 一、 实验目的 1. 通过实验掌握同类对象间共享数据的方法——静态成员。 2. 掌握静态成员的声明和初始化。 3. 掌握友元的概念及使用。 二、 实验学时 2学时 三、 实验内容 1、读程序,分析下面程序的运行结果并在机器上运行。 #include < iostream. h > class A { public: A(); void Show() ; ~A(); private: static int c; }; int A::c =0; A::A() { cout < < ″constructor.″ < < endl; c+ =10; } void A: :Show() { cout< < ″c=″ < cout < < ″destructor. ″ < < endl; } void main() { A a,b; a. Show(); b. Show(); } 2.下面程序声明一个名为 score的类,用于统计一个班的学生成绩,使用静态数据成员totals存储总分。请在横线处填上适当的代码,将该程序补充完整。 #include int main() { Score a(80,90,95); cout << a.re_totals(); return 0; } 3、编程序: 1)在RMB类中加入一个静态数据成员countR,用于对RMB对象计数,同时写出能返回 countR的静态函数成员GetcountR(),并在main函数中测试之。 2)将下面程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出 年、月、日和时、分、秒。 #include Time(int,int,int); void display(const Date&); private: int hour; int minute; int sec; };
正在阅读:
实验8-1111-01
七年级暑假作业答案南方出版社08-13
小学四年级应用140题06-19
浅谈建筑师的职业素养01-19
大学有机化学期末考试题03-30
初三励志标语 鼓励学生的句子03-30
XX-XX学年第一学期高三年级工作计划02-29
地铁工程中地下连续墙围护结构的计算04-21
- 天大砼方案 - 图文
- 农业科技网络书屋能力提升_玉米错题选
- DNS习题
- 浅议检察官对罪犯谈话的技巧与效果
- 高考语文文言文翻译专题训练
- AB类学科竞赛目录(2015)
- 建筑面积计算新规定(2015最新)
- Revit2012初级工程师题集一
- 十三五项目米线可行性报告
- 2013体育学院党组织建设工作总结
- 2014Revit工程师题库
- 高中数学如何实施研究性学习
- 茶艺表演 中英互译
- 小学音乐湘文艺版 四年级下册 第十一课《(歌表演)脚印》优质课公
- 山西省农村合作经济承包合同管理条例
- 2015年镇江市中考化学一模试题参考答案及评分标准(定稿)
- 统计 题集
- 批评意见清单
- 8潞安集团蒲县黑龙关煤矿矿业公司2
- 鄂教版四年级语文上册复习精要(光谷四小)
- 实验
- 11
- 人体解剖学练习题
- 新概念一课一测121-130练习题
- 耐火材料基础知识
- 生物理综卷试题和题后答案
- CMA Part2中文真题-易错题
- 2014电大《药剂学》期末复习题及答案
- 肺结核预防广播稿
- 科室盒子目录及台账目录
- 关于编制邻甲酚醛环氧树脂项目可行性研究报告编制说明
- 单片机电子时钟设计
- 公司理财计算题公式总结及复习题答案out
- 集团公司薪酬管理制度
- 长期在中国股民心中名列前茅排第一的量化投资炒股工具波段选股王
- 4、管理学原理简答题汇总
- 广州地铁九号线花都广场至马鞍山公园区间补充岩土工程勘察报告
- 同数连加解决问题
- 深圳人民代表大会第一次会议代表建议
- 火电机组检修综合评价 - 图文
- 2014年度员工职业发展双通道建设工作总结
- 深化改革时期,积极发挥工会的桥梁作用