急求一高手帮忙解决C++编程训练!无论会几道题,请只管赐教!该怎么解决
急求一高手帮忙解决C++编程训练!!!!!!!无论会几道题,请只管赐教!
6、继承与派生类的应用
实验目的:
理解继承与派生的概念与代码重用的思想,掌握单继承、多重继承和派生的实现方法及在面向对象程序设计中的机理和基本应用。
实验内容:
定义一个日期(年、月、日)的类和一个时间(时、分、秒)的类,并由这两个类派生出日期和时间类。要求在主函数中完成基类和派生类的测试工作。
7、运算符重载的基本设计
实验目的:
掌握成员函数重载运算符和友元函数重载运算符的方法及基本应用。
实验内容:
定义一个复数类,通过重载运算符:“*、/”,直接实现二个复数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法“*”用友元函数实现重载,除法“/”用成员函数实现重载。
8、类的多态性机制
实验目的:
掌握友元函数的定义方法及静态数据成员的特性;理解并掌握利用虚函数技术实现动态多态性和编写通用程序的方法。
实验内容:
利用虚函数技术实现的多态性,编写求几何图形面积之和的通用程序。要求用三角形、矩形、正方形和圆这几种几何图形进行验证。几何图形的类型可以通过构造函数或通过成员函数来设置。
9、标准设备与文件流的输入输出
实验目的:
掌握文件流的打开、关闭及文件读写的基本方法,理解对文本文件流与二进制文件流进行读、写操作时的机理区别。
实验内容:
(1)通过文本文件的读、写方式,实现两文件之间的拷贝,模拟DOS的文件复制命令。
(2)将学生类对象的基本信息(姓名、身高、年龄)以二进制流的形式写入文件中,并将写入的文件信息在屏幕上进行显示验证。
------解决方案--------------------
6、继承与派生类的应用
实验目的:
理解继承与派生的概念与代码重用的思想,掌握单继承、多重继承和派生的实现方法及在面向对象程序设计中的机理和基本应用。
实验内容:
定义一个日期(年、月、日)的类和一个时间(时、分、秒)的类,并由这两个类派生出日期和时间类。要求在主函数中完成基类和派生类的测试工作。
7、运算符重载的基本设计
实验目的:
掌握成员函数重载运算符和友元函数重载运算符的方法及基本应用。
实验内容:
定义一个复数类,通过重载运算符:“*、/”,直接实现二个复数之间的乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法“*”用友元函数实现重载,除法“/”用成员函数实现重载。
8、类的多态性机制
实验目的:
掌握友元函数的定义方法及静态数据成员的特性;理解并掌握利用虚函数技术实现动态多态性和编写通用程序的方法。
实验内容:
利用虚函数技术实现的多态性,编写求几何图形面积之和的通用程序。要求用三角形、矩形、正方形和圆这几种几何图形进行验证。几何图形的类型可以通过构造函数或通过成员函数来设置。
9、标准设备与文件流的输入输出
实验目的:
掌握文件流的打开、关闭及文件读写的基本方法,理解对文本文件流与二进制文件流进行读、写操作时的机理区别。
实验内容:
(1)通过文本文件的读、写方式,实现两文件之间的拷贝,模拟DOS的文件复制命令。
(2)将学生类对象的基本信息(姓名、身高、年龄)以二进制流的形式写入文件中,并将写入的文件信息在屏幕上进行显示验证。
------解决方案--------------------
- C/C++ code
#include <iostream> using namespace std; class date { private: int year; int month; int day; public: int getYear(){return year;}; int getMonth(){return month;}; int getDay(){return day;}; void setYear(int y){year=y;}; void setMonth(int mo){month=mo;}; void setDay(int d){day=d;}; date():year(1900),month(1),day(1){}; date(int y,int mo,int d):year(y),month(mo),day(d){}; friend ostream& operator <<(ostream& os, date d){os<<d.getYear()<<"/"<<d.getMonth()<<"/"<<d.getDay()<<" "; return os;} }; class time { private: int hour; int minute; int second; public: void setHour(int h){hour=h;}; void setMinute(int m){minute=m;}; void SetSecond(int s){second=s;}; int getHour(){return hour;}; int getMinute(){return minute;}; int getSecond(){return second;}; time():hour(0),minute(0),second(0){}; time(int h,int m,int s):hour(h),minute(m),second(s){}; friend ostream& operator <<(ostream& os, time t){os<<t.getHour()<<":"<<t.getMinute()<<":"<<t.getSecond(); return os;} }; class date_time:protected date,time { public: date_time():date(),time(){}; date_time(int y,int mo,int d,int h,int m,int s):date(y,mo,d),time(h,m,s){}; friend ostream& operator<<(ostream& os,date_time dt){os<<dt.getYear()<<"/"<<dt.getMonth()<<"/"<<dt.getDay()<<" "<<dt.getHour()<<":"<<dt.getMinute()<<":"<<dt.getSecond()<<endl; return os;}; }; int main() { date_time dt; cout<<dt; date_time dt2(2010,12,30,22,55,44); cout<<dt2; return 0; }