欢迎来到天天文库
浏览记录
ID:35200886
大小:61.61 KB
页数:18页
时间:2019-03-21
《c上机实验报告(类和对象ⅱ)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C++上机实验报告实验名称:类和对象专业班级:姓名:学号:实验日期:目录1.实验目的2.实验内容3.程序代码4.调试结果5.实验心得1.实验目的(1)进一步加深对类和对象的理解;(2)掌握类的构造函数和析构函数的概念和使用方法;(3)掌握对象数组,对象的指针及其使用方法;(4)掌握友元的概念和使用;(5)了解类模板的使用方法。2.实验内容(1)有以下程序:#includeclassStudent{public:Student(intn,floats):num(n),score
2、(s){}voidchange(intn,floats){num=n;score=s;}voiddisplay(){cout<3、main函数。在main函数中调用fun函数,在fun函数中调用change和display函数。在fun函数中使用对象的引用(Student&)作为形参。(2)商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者还可以享受9.8折优惠。现已知当天3个销货员销售情况为销货员号(num)销货件数(quantity)销货单价(price)101523.51021224.5610310021.5请编些程序,计算出4、当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。(3)有以下程序:#includeusingnamespacestd;classDate;//对Date类的提前引用声明classTime//定义Time类{public:Time(int,int,int);voiddisplay(Date&);//display是成员函数,形参是Date类对象的引用private:inthour;intminute;intsec;};classDate//声明D5、ate类{public:Date(int,int,int);friendvoidTime::display(Date&);//声明Time中的display函数为友元成员函数private:intmonth;intday;intyear;};Time::Time(inth,intm,ints)//类Time的构造函数{hour=h;minute=m;sec=s;}voidTime::display(Date&d)//display的作用是输出年,月,日和时,分,秒{cout<6、"<7、t1中的display函数,实参是Date类对象d1return0;}将程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据输出年,月,日和时,分,秒。修改后上机调试和运行。(4)有以下使用类模板程序:#includeusingnamespacestd;template//声8、明类模板,虚拟类型名为numtypeclassCompare//类模板名为Compare{public:Compare(numtypea,numtypeb)//定义构造函数{x=a;y=b;}numtypemax()//类型函数暂定为numtype{return(x>y)?x:y;}numtypemin(){return(xcmp1(3,7);//定义对象cmp1,
3、main函数。在main函数中调用fun函数,在fun函数中调用change和display函数。在fun函数中使用对象的引用(Student&)作为形参。(2)商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者还可以享受9.8折优惠。现已知当天3个销货员销售情况为销货员号(num)销货件数(quantity)销货单价(price)101523.51021224.5610310021.5请编些程序,计算出
4、当日此商品的总销售款sum以及每件商品的平均售价。要求用静态数据成员和静态成员函数。(3)有以下程序:#includeusingnamespacestd;classDate;//对Date类的提前引用声明classTime//定义Time类{public:Time(int,int,int);voiddisplay(Date&);//display是成员函数,形参是Date类对象的引用private:inthour;intminute;intsec;};classDate//声明D
5、ate类{public:Date(int,int,int);friendvoidTime::display(Date&);//声明Time中的display函数为友元成员函数private:intmonth;intday;intyear;};Time::Time(inth,intm,ints)//类Time的构造函数{hour=h;minute=m;sec=s;}voidTime::display(Date&d)//display的作用是输出年,月,日和时,分,秒{cout<6、"<7、t1中的display函数,实参是Date类对象d1return0;}将程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据输出年,月,日和时,分,秒。修改后上机调试和运行。(4)有以下使用类模板程序:#includeusingnamespacestd;template//声8、明类模板,虚拟类型名为numtypeclassCompare//类模板名为Compare{public:Compare(numtypea,numtypeb)//定义构造函数{x=a;y=b;}numtypemax()//类型函数暂定为numtype{return(x>y)?x:y;}numtypemin(){return(xcmp1(3,7);//定义对象cmp1,
6、"<7、t1中的display函数,实参是Date类对象d1return0;}将程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据输出年,月,日和时,分,秒。修改后上机调试和运行。(4)有以下使用类模板程序:#includeusingnamespacestd;template//声8、明类模板,虚拟类型名为numtypeclassCompare//类模板名为Compare{public:Compare(numtypea,numtypeb)//定义构造函数{x=a;y=b;}numtypemax()//类型函数暂定为numtype{return(x>y)?x:y;}numtypemin(){return(xcmp1(3,7);//定义对象cmp1,
7、t1中的display函数,实参是Date类对象d1return0;}将程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将display声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据输出年,月,日和时,分,秒。修改后上机调试和运行。(4)有以下使用类模板程序:#includeusingnamespacestd;template//声
8、明类模板,虚拟类型名为numtypeclassCompare//类模板名为Compare{public:Compare(numtypea,numtypeb)//定义构造函数{x=a;y=b;}numtypemax()//类型函数暂定为numtype{return(x>y)?x:y;}numtypemin(){return(xcmp1(3,7);//定义对象cmp1,
此文档下载收益归作者所有