实验:数据的共享与保护答案.doc_第1页
实验:数据的共享与保护答案.doc_第2页
实验:数据的共享与保护答案.doc_第3页
实验:数据的共享与保护答案.doc_第4页
实验:数据的共享与保护答案.doc_第5页
全文预览已结束

下载本文档

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

文档简介

观察程序运行中变量的作用域、生存期和可见性,友元和静态成员的使用。1、 在.dgut命名空间中设计一个Math类,该类有4个同名的成员函数(重载函数)可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值;在默认命名空间中使用Math类来计算两个整数,三个整数,两个双精度数,三个双精度数的最大值。头文件: math.h#ifndef MATH_H_#define MATH _H_namespace cn_edu_dgutclass Mathpublic:int max(int a,int b);int max(int a,int b,int c);double max(double a,double b);double max(double a,double b,double c);int Math:max(int a,int b)return a=ab?a:b;int Math:max(int a,int b,int c)a=(ab?a:b);return ac?a:c;double Math:max(double a,double b)return ab?a:b;double Math:max(double a,double b,double c)a=(ab?a:b);return ac?a:c;#endif主文件:#include #includea.husing namespace std;using namespace cn_edu_dgut;int main()Math p;coutp.max(5,15)endlp.max(15,9,154)endlp.max(2.5,8.21)endlp.max(815.15,5521.15,151.5)endl;system(pause);return 0;2、.编写一个程序求直角坐标中一个点到直线的距离。要求设计一个点类Point,含有两个公有成员数据x和y,代表点的坐标。另一个类为直线类Line,它有三个私有成员数据a,d,c。分别代表直线方程ax+by+c=0的系数。在类Line中设计一个友元函数distance计算一个点到直线的距离。点(x,y)到直线ax+by+c=0的距离distance的计算公式如下:#include#includeusing namespace std;class pointpublic:float x,y;point(float i,float j) x=i; y=j; ;class linepublic:line(float i,float j,float k) a=i;b=j; c=k; friend double distance(point c1,line l1);private:float a,b,c;double distance(point c1,line l1)double h,q;h=fabs(l1.a*c1.x+l1.b*c1.y+l1.c);q=sqrt(l1.a*l1.a+l1.b*l1.b);return h/q;void main()point p1(56,70);line l1(3,2,8);coutdistance=distance(p1,l1)endl;3、编写一个名为Score的类,用于统计一个班的学生成绩。其中使用一个静态成员数据totals来存储总分及一个静态成员函数re_totals()返回该总分,Score类具有一个普通成员数据mark10数组,用于存储用户输入的学生成绩。#include class Scorepublic: float mark10;static float totals;static float re_totals()return totals;float Score:totals=0.0;main()Score stu;int i;for(i=0;i10;i+)stu.marki=(float)i*i;/值任意Score:totals+=stu.marki;printf(%fn,Score:re_totals();4、某商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,因此,商店需要记录下目前库存的货物的总重量,现在要求设计一个Goods类并使用静态成员来模拟商店货物购进和卖出的情况:Goods类有一个int型weight成员数据(表示本箱货物的重量,每个Goods对象的weight值不同,一个Goods对象表示一箱货物);有一个int型totalWeight静态成员变量,记录所有Goods对象的weight值之和;有一个int GetTotalWeight()静态成员函数,返回totalWeight的值;有一个Goods(int w)构造函数,初始化weight的值,并将totalWeight的值增加weight,注意:创建一个Goods对象就是买入一箱货物(因为要调用此构造函数);有一个void Sell()成员函数,用于将weight赋值为0(表示卖出);。实现以上要求,创建多个Goods对象、卖出等操作并测试通过。然后为上面的Goods类添加一个常数据成员(货物名称),并对货物名称进行初始化; 最后将前面已定义的某些成员函数改写为常成员函数,观察是否该类中所有的成员函数是否都可设定为常成员函数。#include class Goodsprivate:int weight;static int totalWeight;public:Goods(int n);void sell();static int getTotalWeight();const char *name;Goods:Goods(int n):name(RIO COCKTAIL)weight=n;totalWeight+=n;int Goods:getTotalWeight()return totalWeight;void Goods:sell()totalWeight-=weight;weight=0;int Goods:totalWeight=0;int main ()int w;coutw; Goods good_1(w); coutw;Goods good_2(w);cout库

温馨提示

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

评论

0/150

提交评论