第六章习题汇总
来源:互联网 发布:mysql frm hy000 编辑:程序博客网 时间:2024/06/07 17:45
1.
#include <iostream> using namespace std; #include "cylinder.h"#include "point.cpp"#include "circle.cpp"#include "cylinder.cpp"int main(){Cylinder cy1(3.5,6.4,5.2,10); cout<<"\noriginal cylinder:\nx="<<cy1.getX()<<", y="<<cy1.getY()<<", r="<<cy1.getRadius()<<", h="<<cy1.getHeight()<<"\narea="<<cy1.area()<<", volume="<<cy1.volume()<<endl; cy1.setHeight(15); cy1.setRadius(7.5); cy1.setPoint(5,5); cout<<"\nnew cylinder:\n"<<cy1; Point &pRef=cy1; cout<<"\npRef as a point:"<<pRef; Circle &cRef=cy1; cout<<"\ncRef as a Circle:"<<cRef; return 0;}
3.
(1)#include <iostream>using namespace std;class Point{public: Point(float a,float b):x(a),y(b){} ~Point(){cout<<"executing Point destructor"<<endl;} private: float x; float y;};class Circle:public Point{public: Circle(float a,float b,float r):Point(a,b),radius(r){} ~Circle(){cout<<"executing Circle destructor"<<endl;} private: float radius;};int main(){Point *p=new Circle(2.5,1.8,4.5); delete p; return 0;}
(2)#include <iostream>using namespace std;class Point{public: Point(float a,float b):x(a),y(b){} ~Point(){cout<<"executing Point destructor"<<endl;} private: float x; float y;};class Circle:public Point{public:Circle(int a,int b,int r):Point(a,b),radius(r){} ~Circle(){cout<<"executing Circle destructor"<<endl;} private: float radius;};int main(){Point *p=new Circle(2.5,1.8,4.5); Circle *pt=new Circle(2.5,1.8,4.5); delete pt; return 0;}
(3)#include <iostream>using namespace std;class Point{public: Point(float a,float b):x(a),y(b){} virtual ~Point(){cout<<"executing Point destructor"<<endl;} private: float x; float y;};class Circle:public Point{public:Circle(float a,float b,float r):Point(a,b),radius(r){} virtual ~Circle(){cout<<"executing Circle destructor"<<endl;} private:float radius;};void main(){Point *p=new Circle(2.5,1.8,4.5); delete p;}
4.#include <iostream>using namespace std;class Shape{public:virtual double area() const =0; };class Circle:public Shape{public:Circle(double r):radius(r){} virtual double area() const {return 3.14159*radius*radius;}; protected: double radius; }; class Rectangle:public Shape{public: Rectangle(double w,double h):width(w),height(h){} virtual double area() const {return width*height;} protected: double width,height; };class Triangle:public Shape{public: Triangle(double w,double h):width(w),height(h){} virtual double area() const {return 0.5*width*height;} protected: double width,height; };void printArea(const Shape &s){cout<<s.area()<<endl;} int main(){ Circle circle(1); cout<<"圆的面积为:"; printArea(circle); Rectangle rectangle(3,4); cout<<"矩形的面积为:"; printArea(rectangle); Triangle triangle(4,5); cout<<"三角形的面积为:"; printArea(triangle); return 0;}
5.#include <iostream>using namespace std;class Shape{public: virtual double area() const =0; };class Circle:public Shape{public:Circle(double r):radius(r){} virtual double area() const {return 3.14159*radius*radius;}; protected: double radius; };class Square:public Shape{public: Square(double s):side(s){} virtual double area() const {return side*side;} protected: double side;};class Rectangle:public Shape{public: Rectangle(double w,double h):width(w),height(h){} virtual double area() const {return width*height;} protected: double width,height; };class Trapezoid:public Shape{public: Trapezoid(double t,double b,double h):top(t),bottom(t),height(h){} virtual double area() const {return 0.5*(top+bottom)*height;} protected: double top,bottom,height; };class Triangle:public Shape{public: Triangle(double w,double h):width(w),height(h){} virtual double area()const {return 0.5*width*height;} protected: double width,height; };int main(){ Circle circle(1); Square square(2); Rectangle rectangle(3,4); Trapezoid trapezoid(2,4,3); Triangle triangle(4,5); Shape *pt[5]={&circle,&square,&rectangle,&trapezoid,&triangle}; double areas=0.0; for(int i=0;i<5;i++) {areas=areas+pt[i]->area();} cout<<"总面积为:"<<areas<<endl; return 0;}
0 0
- 第六章习题汇总
- C++第六章 习题
- python第六章习题
- 第六章习题
- 第二章习题汇总
- 第三章习题汇总
- 第四章习题汇总
- 第五章习题汇总
- 第七章习题汇总
- 第八章习题汇总
- 谭浩强第六章习题答案
- 第六章 堆排序习题
- C++Primer习题第六章
- 第六章 人力资源管理概述习题解答
- ANSI Common Lisp 第六章习题解
- c++ primer plus第六章习题答案
- 学习opencv 习题答案-第六章
- 快学Scala 第六章习题答案
- 3-6
- struts2学习笔记之十六(token标签)
- 单例设计模式 浅谈
- Oracle存储过程update受外键约束的主键值时完整性冲突解决方案
- HTML锚点&JSP锚点
- 第六章习题汇总
- Median of Two Sorted Arrays
- 浏览一天的收获
- 代码学习-Linux内核网卡收包过程(NAPI)
- HDU--2032
- Hadoop技术预览
- 用VS2012创建和使用WebService(连接SQL Server)
- android-ioc
- 安卓打包修改配置