Hot Search : Source embeded web remote control p2p game More...
Location : Home Search - iostream m
Search - iostream m - List
实验三:C++编程入门 一、实验内容 1. 类模版。 2. 运算符重载。 3. 友元。 4. 继承。 二、实验题目 1, 设计一个类SavingsAccount,定义一个静态数据成员记录存款的年利率(rate),该类的每个成员都包含一个私有的数据成员balance,表示该成员当前的存款数额。提供一个成员函数CalMonthlyInterest(),用以计算月利息(用balance乘以rate再除以12),并将这个月利息加入balance中。提供一个静态成员函数ModifyRate(),用以改变静态数据成员rate的值。定义两个不同的SavingsAccount对象saver1和saver2,当前存款数额balance分别为2000.00和3000.00。首先将rate设置为3%,计算每个存款人的月息并打印新的结果,然后将rate设置为4%,再次计算每个存款人的月息并打印新的结果。 2, 设计一个学生类student,包括学生学号、姓名、成绩;设计一个友元函数,比较某两个学生成绩的高低;读入一个文本文件(格式如示例studengt.txt,每行的学号、姓名、成绩之间用四个空格隔开)中所有学生的学号、姓名、成绩,输出最高成绩和最低成绩的学生信息(学号、姓名、成绩)。 3, 阅读下面例子,将题中的Time类声明为Data类的友元类,通过Time类中的display函数引用Data类的私有数据,输出年、月、日和时、分、秒。 #include <iostream> using namespace std; class Date; //对Date类的提前引用声明 class Time //定义Time类 { public: Time(int,int,int); void display(Date &); //display是成员函数,形参是Date类对象的引用 private: int hour; int minute; int sec; }; class Date //声明Date类 { public: Date(int,int,int); friend void Time∷display(Date &); //声明Time中的display函数为友元成员函数 private: int month; int day; int year; }; Time∷Time(int h,int m,int s) //类Time的构造函数 { hour=h; minute=m; sec=s; } void Time∷display(Date &d) //display的作用是输出年、月、日和时、分、秒 { cout<<d.month<<″/″<<d.day<<″/″<<d.year<<endl; //引用Date类对象中的私有数据 cout<<hour<<″:″<<minute<<″:″<<sec<<endl; //引用本类对象中的私有数据 } Date∷Date(int m,int d,int y) //类Date的构造函数 { month=m; day=d; year=y; } int main( ) { Time t1(10,13,56); //定义Time类对象t1 Date d1(12,25,2004); //定义Date类对象d1 t1.display(d1); //调用t1中的display函数,实参是Date类对象d1 return 0; } 4, 将下面程序改为在类模板外定义各成员函数: #include <iostream> using namespace std; template<class numtype> //定义类模板 class Compare { public: Compare(numtype a,numtype b) { x=a;y=b; } numtype max( ) { return (x>y)?x:y; } numtype min( ) { return (x<y)?x:y; } private: numtype x,y; }; int main( ) { Compare<int> cmp1(3,7); //定义对象cmp1,用于两个整数的比较 cout<<cmp1.max( )<<″ is the Maximum of two integer numbers.″<<endl; cout<<cmp1.min( )<<″ is the Minimum of two integer numbers.″<<endl<<endl; Compare<float> cmp2(45.78,93.6); //定义对象cmp2,用于两个浮点数的比较 cout<<cmp2.max( )<<″ is the Maximum of two float numbers.″<<endl; cout<<cmp2.min( )<<″ is the Minimum of two float numbers.″<<endl<<endl; Compare<char> cmp3(′a′,′A′); //定义对象cmp3,用于两个字符的比较 cout<<cmp3.max( )<<″ is the Maximum of two characters.″<<endl; cout<<cmp3.min( )<<″ is the Minimum of two characters.″<<endl; return 0; } 5, 有两个矩阵a和b,均为2行3列,求两个矩阵的和。重载运算符“+”使之用于矩阵相加。如:c=a+b。重载插入运算符“<<”和流提取运算符“>>”,使之能用于该矩阵的输入和输出。 6, 利用类继承分别完成一个学生类、一个大学生类、一个本科生类,本科生类中包括了一个学生作为他的班长。在创建一个本科生对象时赋予他的全部信息,输出该本科生对象的全部信息。 7, 利用c++继承、多态虚函数、构造函数完成以下程序:设计人、老师、学生、大学生、研究生、大四学生等类、其主要属性自己定义,要求包括以下方法: 1) 构造函数,创建对象的主要信息 2) Display,显示每种类对象的主要信息 此外,要求每个类包含一个生日对象,其类型为Birthday类,学生类应该包含一个班主任对象,其类型为老师类。 三、实验要求  将程序源代码压缩后提交至学院FTP上对应实验和班级的目录中。  作业命名方式为:“学号姓名.rar”。  作业提交时间:下次实验课前提交。
Date : 2011-08-18 Size : 1.2mb User : zhuchao0731@163.com

DL : 0
#include<iostream> using namespace std class Point {public: Point(int a){x=a } ~Point(){cout< "execuing Point destructor"<<endl } private: int x } class Circle:public Point {public: Circle(int m,int n):Point(m){radius=m } ~Circle(){cout<<"execuing Circle destructor"<<radius<<endl } private: int radius } int main() {Point *p=new Circle(5,12) delete p system("pause") return 0 } -# Include <iostream> using namespace std class Point (public: Point (int a) (x = a) ~ Point () (cout < execuing Point destructor <<endl) private: int x) class Circle: public Point (public: Circle (int m, int n): Point (m) (radius = m) ~ Circle () (cout << execuing Circle destructor <<radius <<endl) private: int radius) int main () (Point* p = new Circle (5,12) delete p system ( pause ) return 0)
Date : 2025-12-28 Size : 1kb User : 华盛

DL : 0
#include<iostream> using namespace std class Point {public: Point(int a){x=a } ~Point(){cout< "execuing Point destructor"<<endl } private: int x } class Circle:public Point {public: Circle(int m,int n):Point(m){radius=m } ~Circle(){cout<<"execuing Circle destructor"<<radius<<endl } private: int radius } int main() {Point *p=new Circle(5,12) delete p system("pause") return 0 } -# Include <iostream> using namespace std class Point (public: Point (int a) (x = a) ~ Point () (cout < execuing Point destructor <<endl) private: int x) class Circle: public Point (public: Circle (int m, int n): Point (m) (radius = m) ~ Circle () (cout << execuing Circle destructor <<radius <<endl) private: int radius) int main () (Point* p = new Circle (5,12) delete p system ( pause ) return 0)
Date : 2025-12-28 Size : 2kb User : 华盛

DL : 0
#include <iostream> #include <string> using namespace std class Goods {public: Goods(char *GoodsNum,string n,double p,int a) { strcpy(GoodsNumber,GoodsNum) GoodsName=n GoodsPrice=p GoodsAmount=a }//构造函数,商品的编号,名字,价格,数量 ~Goods(){} friend class Manager int quantity //声明购买数量 static float TotalPrice() //声明所购买商品的总价格 string get_GoodsName() const double get_GoodsPrice() const int get_GoodsAmount() void SetGoodsNumber(char*) //设置编号函数 void SetGoodsName(string) //设置姓名函数 void SetGoodsPrice(double pr) //设置价格函数 void SetGoodsAmount(int am) //设置数量函数 int SetGoodsGuaPeriod(int y,int m,int d){} //设置保质期函数 void PrintGuaPeriod() //输出保质期 private: char GoodsNumber[3] string GoodsName double GoodsPrice -#include <iostream> #include <string> using namespace std class Goods {public: Goods(char*GoodsNum,string n,double p,int a) { strcpy(GoodsNumber,GoodsNum) GoodsName=n GoodsPrice=p GoodsAmount=a }//构造函数,商品的编号,名字,价格,数量 ~Goods(){} friend class Manager int quantity //声明购买数量 static float TotalPrice() //声明所购买商品的总价格 string get_GoodsName() const double get_GoodsPrice() const int get_GoodsAmount() void SetGoodsNumber(char*) //设置编号函数 void SetGoodsName(string) //设置姓名函数 void SetGoodsPrice(double pr) //设置价格函数 void SetGoodsAmount(int am) //设置数量函数 int SetGoodsGuaPeriod(int y,int m,int d){} //设置保质期函数 void PrintGuaPeriod() //输出保质期 private: char GoodsNumber[3] string GoodsName double GoodsPrice
Date : 2025-12-28 Size : 1kb User : 熊舒予
CodeBus is one of the largest source code repositories on the Internet!
Contact us :
1999-2046 CodeBus All Rights Reserved.