【例8.2】 由圆和高多重继承派生出圆锥。
来源:互联网 发布:淘宝店铺被关闭怎么办 编辑:程序博客网 时间:2024/05/16 07:01
// 例8.2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
class Circle{
protected:
float x,y,r;
public:
Circle(float a=0,float b=0,float R=0){x=a;y=b;r=R;}
void Setcoordinate(float a,float b){x=a;y=b;}
void Getcoordinate(float &a,float &b){a=x;b=y;}
void SetR(float R){r=R;}
float GetR(){return r;}
float GetAreaCircle(){return float(r*r*3.14159); }
float GetCircumference(){return float(2*r*3.14159); }
};
class Line{
protected:
float High;
public:
Line(float a=0){High=a;}
void SetHigh(float a){High=a;}
float GetHigh(){return High;}
};
class Cone:public Circle,public Line{
public:
Cone(float a,float b,float R,float d):Circle(a,b,R),Line(d){}
float GetCV(){return float(GetAreaCircle()*High/3);}
float GetCA(){
return float(GetAreaCircle()+r*3.14159*sqrt(r*r+High*High));
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Cone cl(5,8,3,4);
//float a,b;
cout<<"圆锥的面积:"<<cl.GetCV()<<'\n';
return 0;
}
//
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
class Circle{
protected:
float x,y,r;
public:
Circle(float a=0,float b=0,float R=0){x=a;y=b;r=R;}
void Setcoordinate(float a,float b){x=a;y=b;}
void Getcoordinate(float &a,float &b){a=x;b=y;}
void SetR(float R){r=R;}
float GetR(){return r;}
float GetAreaCircle(){return float(r*r*3.14159); }
float GetCircumference(){return float(2*r*3.14159); }
};
class Line{
protected:
float High;
public:
Line(float a=0){High=a;}
void SetHigh(float a){High=a;}
float GetHigh(){return High;}
};
class Cone:public Circle,public Line{
public:
Cone(float a,float b,float R,float d):Circle(a,b,R),Line(d){}
float GetCV(){return float(GetAreaCircle()*High/3);}
float GetCA(){
return float(GetAreaCircle()+r*3.14159*sqrt(r*r+High*High));
}
};
int _tmain(int argc, _TCHAR* argv[])
{
Cone cl(5,8,3,4);
//float a,b;
cout<<"圆锥的面积:"<<cl.GetCV()<<'\n';
return 0;
}
- 【例8.2】 由圆和高多重继承派生出圆锥。
- 第十三周--项目2-采用多重继承方式由Teacher类和Cadre类派生出Teacher_Cadre
- 定义Person(人)类,由Person分别派生出Teacher(教师)类和Cadre(干部)类,再由Teacher(教师)类和Cadre(干部)类采用多重继承方式派生出新类TeacherCadre(
- 定义Staff(员工)类,由Staff分别派生出Saleman(销售员)类和Manager(经理)类,再由Saleman(销售员)类和Manager(经理)类采用多重继承方式派生出新类SaleMana
- 定义Person(人)类,由Person分别派生出Teacher(教师)类和Cadre(干部)类,再由Teacher(教师)类和Cadre(干部)类采用多重继承方式派生出新类TeacherCadre(
- 多重继承、派生类
- 在程序中定义一个基类Person类,由这个基类派生出Teacher(教师)类和Leader(领导)类。采用多继承的方式由这两个类派生出Teacher_Leader类。并且满足以下要求:
- 派生类构造函数和多重继承的二义性问题
- 多重继承派生Teacher_Cader类
- 类的继承与派生(Shape例子派生Rectangle和Circle,Rectangle派生出Square)
- 《第十二周任务二》分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre
- 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)
- 第十二周任务二 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式有这两个类派生出Teacher_Cadre
- 第十三周 项目二:定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式,派生出Teacher_Cadre(教师兼干部)类
- 第十周实验指导--任务1--由坐标点类派生出直线类--继承与派生
- 第十二周任务一(多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部))
- 多重继承派生类的构造函数
- 多重继承派生类的构造函数
- 关于web性能的一点想法
- 【iOS-Cocos2d游戏开发之十八】解决滚屏背景/拼接地图有黑边(缝隙)/动画播放出现毛边以及禁止游戏中自动锁屏问题!【2011年12月18日补充】
- GetDocument()
- C/C++/VC随机数总结
- Too many open files in system 错误处理
- 【例8.2】 由圆和高多重继承派生出圆锥。
- 人生是什么?——感悟1:勇于承担自己的选择才是真正的勇气
- 子线程与主线程通过Handler进行通信
- phpmyadmin简介
- C++中使用正规表达式操作字符串
- android简易网页播放器
- 如何做个优秀的程序员,优秀程序员的十个习惯
- 怎样成为优秀的程序员
- 软件包 javax.servlet.http 不存在 import javax.servlet.http.*; 如果是用editplus