《面向对象程序设计基础R》实验指导和实验报告(2017年)_第1页
《面向对象程序设计基础R》实验指导和实验报告(2017年)_第2页
《面向对象程序设计基础R》实验指导和实验报告(2017年)_第3页
《面向对象程序设计基础R》实验指导和实验报告(2017年)_第4页
《面向对象程序设计基础R》实验指导和实验报告(2017年)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

经典word整理文档,仅参考,双击此处可删除页眉页脚。本资料属于网络整理,如有侵权,请联系删除,谢谢!实验一熟悉VisualStudio开发环境实验目的和要求3.与实验记录(写出实验内容中1、2、3、4的程序代码和运行结果)(可分栏或加页)1.#include"stdafx.h"#include"iostream"usingnamespacestd;constdoublepi=3.141592;doublearea(doubler);doublearea(doublea,doubleb);doubleperimer(doubler);doubleperimer(doublea,doubleb);doublearea(doubler){doubles;s=pi*r*r;returns;s=a*b;-1-returns;doublep;p=2*pi*r;returnp;doublep;p=2*(a=b);returnp;}int_tmain(intargc,_TCHAR*argv[])doubler;doublem;doublen;cout<<"请输入圆的半径:"<<endl;cout<<"圆的面积为:"<<area(r)<<""<<"圆的周长为:"<<perimer(r)<<endl;cout<<"请输入长方形的长和宽:"<<endl;cin>>m>>n;cout<<"长方形面积为:"<<area(m,n)<<""<<"长方形的周长为:"<<perimer(m,n)<<endl;cout<<"请输入正方形的边长:"<<endl;cout<<"正方形的面积为:"<<area(m,m)<<""<<"正方形的周长为:"<<perimer(m,m)<<endl;getchar();getchar();return0;}-2-:{{{{{{}{}}}}-4-#include"stdafx.h"#include"iostream"usingnamespacestd;classComplex{public:voidDispaly();private:doublereal;doubleimage;};Complex::Complex(Complex&c){}voidComplex::Dispaly()cout<<"("<<real<<"+"<<image<<"i"<<")"<<endl;}}#include"stdafx.h"#include"iostream"#include"math.h"usingnamespacestd;classRectangle{protected:doubleLeft,Top,Right,Bottom;public:Rectangle(doublea,doubleb,doublec,doubled):Left(a),Top(b),Right(c),Bottom(d){};voidShow(Rectangle&d);doubleDiagonal(Rectangle&c);};doubleRectangle::Diagonal(Rectangle&c){doublex=c.Right-c.Left;doubley=c.Top-c.Bottom;doubled=sqrt((x*x+y*y));returnd;voidRectangle::Show(Rectangle&d){cout<<"右下角"<<"("<<Right<<","<<Bottom<<")"<<endl;cout<<"斜角线长度¨¨"<<d.Diagonal(d)<<endl;-7--8-遇到的问题和解决方法-9-实验目的和要求#include"stdafx.h"#include<iostream>usingnamespacestd;//定义学生类classStudent{intno;//学号//姓名//成绩intStudent::totalNumber=0;//静态数据初始化{Studentstu1(1001,"张小三¨y",97.5);stu1.StudentInformation();Studentstu2(1625,"李老四",83.);stu2.StudentInformation();Studentstu3(1628,"王老五",93.);stu3.StudentInformation();Studentstu4(1352,"郭小六¨´",62.5);-10-stu4.StudentInformation();Studentstu5(1999,"王小明",77.);stu5.StudentInformation();Student::Output();strcpy(name,name_);score=score_;totalNumber++;totalScore+=score;if(score>highestScore)highestScore=score;if(score<lowestScore)lowestScore=score;voidStudent::StudentInformation(){cout<<"学号"<<no<<""<<"姓名"<<name<<""<<"成绩:"<<score<<endl;}voidStudent::Output()}-12-遇到的问题和解决方法-13-实验目的和要求;3usingnamespacestd;classPoint{friendostream&operator<<(ostream&,constPoint&);public:intx,y;//Point类的数据成员};classCircle:publicPoint{//构造函数doublegetRadius()const;doublearea()const;protected:};classCylinder:publicCircle{friendostream&operator<<(ostream&,constCylinder&);public:Cylinder(doubleh=0.0,doubler=0.0,intx=0,inty=0);voidsetHeight(double);//置高度值doubleradius;//数据成员,半径//友元函数//构造函数-14-doublegetHeight()const;doublearea()const;ostream&operator<<(ostream&output,constPoint&p)//重载插入运算符,输出对象数据output<<'['<<p.x<<","<<p.y<<"]";Circle::Circle(doubler,inta,intb):Point(a,b){setRadius(r);}voidCircle::setRadius(doubler){radius=(r>=0?r:0);}//对半径置值doubleCircle::getRadius()const{returnradius;}//返回半径值doubleCircle::area()const{return3.14159*radius*radius;}//计算并返回面积值ostream&operator<<(ostream&output,constCircle&c)//输出圆心坐标和半径值{output<<"Center="<<'['<<c.x<<","<<c.y<<"]"<<";Radius="<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(2)<<c.radius;returnoutput;}//带初始化式构造函数,首先调用基类构造函数Cylinder::Cylinder(doubleh,doubler,intx,inty):Circle(r,x,y){setHeight(h);}voidCylinder::setHeight(doubleh){height=(h>=0?h:0);}//对高度置值doubleCylinder::getHeight()const{returnheight;}//返回高度值doubleCylinder::area()const{return2*Circle::area()+2*3.14159*radius*height;//计算并返回圆柱体的表面积doubleCylinder::volume()const{returnCircle::area()*height;}//计算并返回圆柱体的体积//输出数据成员圆心坐标、半径和高度值output<<"Center="<<'['<<cy.x<<","<<cy.y<<"]"<<";Radius="<<setiosflags(ios::fixed|ios::showpoint)<<setprecision(2)<<cy.radius<<";Height="<<cy.height<<endl;returnoutput;}#include<iostream>-15-#include<iomanip>usingnamespacestd;intmain()//定义点对象并初始化cout<<"\nTheinitiallocationandradiusofcare\n"<<c<<"\nArea="<<c.area()<<c.setPoint(2,2);//置圆的新数据值//输出圆心坐标和圆面积cout<<"\nThenewlocationandradiusofc<<c<<"\nArea="<<c.area()<<"\n";//输出圆柱体各数据和表面积,体积cyl.setHeight(10);cyl.setRadius(4.25);cyl.setPoint(2,2);}-16--17-遇到的问题和解决方法-18--19-实验目的和要求((((4#include"stdafx.h"#include"iostream"#include"iomanip"#include"string.h"usingnamespacestd;//Employee.hclassEmployee{//雇员类—-抽象类public://虚析构函数stringgetName();longgetNumber();//管理人员类constManager(int,constchar*name_,double);~Manager(){}voidsetMonthlySalary(double);virtualdoubleearnings();//置月薪//计算管理人员月薪-20-virtualvoidprint();private:doublemonthlySalary;//输出管理人员信息};//HourlyWorker.hHourlyWorker(int,constchar*name_,double,int);~HourlyWorker(){}virtualdoubleearnings();virtualvoidprint();private:doublewage;doublehours;};//PieceWorker.h//计件人员类voidsetWage(double);voidsetQuantity(int);};HourlyWorkerhw1(30712,"ZhaoXiaoMing",5,8*20);PieceWorkerpw1(20382,"XiuLiWei",0.5,2850);basePtr=&m1;basePtr->print();-21-number=nu_;name=name_;stringEmployee::getName()longEmployee::getNumber(){doubleEmployee::earnings(doublepay){returnpay;}voidEmployee::print(){}Manager::Manager(intnu_,constchar*name_,doublepay):Employee(nu_,name_),monthlySalary(pay){}voidManager::setMonthlySalary(doublepay){monthlySalary=pay;}doubleManager::earnings(){returnmonthlySalary;}voidManager::print(){cout<<"管理者编号

温馨提示

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

评论

0/150

提交评论