河北工业大学-C++实验报告实验二.doc_第1页
河北工业大学-C++实验报告实验二.doc_第2页
河北工业大学-C++实验报告实验二.doc_第3页
河北工业大学-C++实验报告实验二.doc_第4页
河北工业大学-C++实验报告实验二.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验内容1.下面是一个计算器类的定义,请完成该类成员函数的实现。#includeusing namespace std;class Counter public: Counter(int number); void increment(); /给原值加1 void decrement(); /给原值减1 int getValue(); /取得计数器值 int print(); /显示计数 private: int value;Counter:Counter(int number)value=number;void Counter:increment()value+=1;void Counter:decrement()value-=1;int Counter:getValue()return value;int Counter:print()coutvalue;return 0;2、根据注释语句的提示,实现类Date的成员函数。#includeusing namespace std;class Date public: void printDate();/显示日期 void setDay(int d);/设置日的值 void setMonth(int m);/设置月的值 void setYear(int y);/设置年的值 private: int day,month,year;int main()Date testDay;testDay.setDay(5);testDay.setMonth(10);testDay.setYear(2014);testDay.printDate();return 0;void Date:printDate()coutmonth.day.yearendl;void Date:setDay(int d)day=d;void Date:setMonth(int m)month=m;void Date:setYear(int y)year=y;3.建立类cylinder,cylinder的构造函数被传递了两个double值,分别表示圆柱体的半径和高度。用类cylinder计算圆柱体的体积,并存储在一个double变量中。在类cylinder中包含一个成员函数vol(),用来显示每个cylinder对象的体积。#includeusing namespace std;class cylinder public: cylinder(double a,double b); void cal(); void vol(); private: double r,h,v;cylinder:cylinder(double a,double b)r=a;h=b;v=0;void cylinder:cal()v=h*r*r*3.14;void cylinder:vol()coutv;4.构建一个类book,其中含有两个私有数据成员qu和price,建立一个有5个元素的数组对象,将qu初始化为15,将price初始化为qu的10倍。显示每个对象的qu*price值。#includeusing namespace std;class book public: book(int n); int printf(); private: int qu,price;book:book(int n)qu=n;price=10*n;int book:printf()coutqu*priceendl;return 0;void main(void)int i;book obl5=1,2,3,4,5;for(i=0;i5;i+)obli.printf();5.修改上题,通过对象指针访问对象数组,使程序以相反的顺序显示对象数组的qu*price值。#includeusing namespace std;class book public: book(int n); int printf(); private: int qu,price;book:book(int n)qu=n;price=10*n;int book:printf()coutqu*priceendl;return 0;void main(void)int i;book obl5=1,2,3,4,5;book *p=&obl4;for(i=0;iprintf();p-;6 构建一个类Stock,含字符数组stockcode及整型数据成员quan、双精度型数据成员price。构造函数含3个参数:字符数组na及q、p。当定义Stock的类对象时,将对象的第一个字符串参数赋给数据成员stockcode,第2个和第3个参数分别赋给quan和price。未设置第2个和第3个参数时,quan的值为1000,price的值为8.98。成员函数print()使用this指针,显示对象内容。#includeusing namespace std;class Stock public: Stock(char na,int q,double p); Stock(char na); void printf(); private: char *stockcode; int quan; double price;Stock:Stock(char na,int q,double p)stockcode=new char(strlen(na)+1);quan=q;price=p;Stock:Stock(char na)stockcode=new char(strlen(na)+1);quan=1000;price=8.98;void Stock:printf()int i;for(i=0;istrlen(stockcode);i+)coutstockcode stockcodei;coutquan quan;coutprice price;8 声明一个Student,在该类中包括一个数据成员score(分数)、两个静态数据成员total_score(总分)和count(学生人数);还包括一个成员函数account()用于设置分数、累计学生的成绩之和、累计学生人数,一个静态成员函数sum()用于返回学生的成绩之和,另一个静态成员函数average()用于求全班成绩的平均值。在main()函数中,输入某班学生的成绩,并调用上述函数求出全班学生的成绩之和和平均分。#includeusing namespace std;class Student public: void account(int scorel); int sum(); double average(); private: int score; static double total_score; static int count;void Student:account(int scorel)score=scorel;+count;total_score+=score;int Student:sum()return total_score;double Student:average()return total_score/count;double Student:total_score=0;int Student:count=0;void main()Student stu1,stu2,stu3;stu1.account(95);stu2.account(98);stu3.account(99);coutsum=stu3.sum()endl;coutave=stu3.average()endl;9设计一个用来表示直角坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A的坐标点在第3象限,B的坐标点在第2象限,分别采用成员函数和友元函数计算给定两个坐标点之间的距离,要求按如下格式输出结果:A(x1,y1),B(x2,y2)Distance=d其中:x1、y1、x2、y2为指定的坐标值,d为两个坐标点之间的距离。#include#includeusing namespace std;class Location public: Location(int i,int j):x(i),y(j) int Getx()return x; int Gety()return y; double distance(Location b); friend double distance(Location &a,Location &b); private: int x,y;double distance(Location &a,Location &b)int dx=a.x-b.x;int dy=a.y-b.y;return sqrt(dx*dx+dy*dy);double Location:distance(Location b)int dx=x-b.x;int dy=y-b.y;return sqrt(dx*dx+dy*dy);void main()Location A(-30,-10),B(-30,10);coutA(A.Getx(),A.Gety(),B(B.Getx(),B.Gety()endl;coutDistance1=A.distance(B)endl;coutDistance2=distance(A,B)endl;10 使用C+的string类,将5个字符串按逆转后的顺序显示出来。例如,逆转前的5个字符串是:Germany、Japan、American、British、France按逆转后的顺序输出字符串为:France、British、American、Japan、Germany#include#includeus

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论