利用基类.派生类和虚函数的概念编写一个程序计算三角形.矩形和圆形的面积.
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/12 17:45:43
![利用基类.派生类和虚函数的概念编写一个程序计算三角形.矩形和圆形的面积.](/uploads/image/f/2425708-28-8.jpg?t=%E5%88%A9%E7%94%A8%E5%9F%BA%E7%B1%BB.%E6%B4%BE%E7%94%9F%E7%B1%BB%E5%92%8C%E8%99%9A%E5%87%BD%E6%95%B0%E7%9A%84%E6%A6%82%E5%BF%B5%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E8%AE%A1%E7%AE%97%E4%B8%89%E8%A7%92%E5%BD%A2.%E7%9F%A9%E5%BD%A2%E5%92%8C%E5%9C%86%E5%BD%A2%E7%9A%84%E9%9D%A2%E7%A7%AF.)
#include <iostream>using namespace std;class CShape{public:CShape(void){
如果不是继承的函数要避免出现同名函数,即使遮蔽了,还是会隐藏错误的,因为如果出现两个函数的定常性不同的话,还是会出现二义性的.对于继承体系,主要是虚函数的话,当然就必须同名了
/*Shape是一个几何图形的基类,它至少有求自身周长函数Circumference()和求自身面积函数Area().从Shape类派生出Circle类、Ellipse类、Triangle类和Rect
#include"stdafx.h"#include#includeusingnamespacestd;classCShape{public:\x09virtualvoidArea()=0;\x09v
#include#definepi3.14usingnamespacestd;classCyuan{public:\x05Cyuan(doubler)\x05{\x05\x05R=r;\x05}\x0
在下面的函数中我们如下应用delete表达式voiddoit_and_bedone(vector<Query*>*pvec){//...for(;it!=end_it;++it){Quer
classpoint;classshape{public:virtualdoublecircumference()=0;virtualdoublearea()=0;};#definePI3.14159
usingSystem;namespaceAnimal{publicclassMainclass{publicstaticvoidMain(){Marmmalm=newMarmmal(10,50);D
答案:ABC原因AB是C的基类,那么在堆栈里AB在C的下面.所以在构造时要先执行AB的构造函数再执行C的构造函数.同样的析构时要先执行C的析构函数在执行AB的析构函数.
这个动动手,写段下面这样的代码,试一下即可.classBase{publicBase(){printf("Iambase.");}}publicDerived:publicBase{publicDer
classline:publicpoint{public:pointm_start;pointm_end;line();line();line(pointstart,pointend):m_start
#includeusingnamespacestd;#definePI3.14classPoint{public:\x09Point():m_x(0),m_y(0){}\x09Point(double
如果想调用ABC的test就用a.ABC::test(1);想要XYZ的就用a.XYZ::test(1);voidmain(){childa;a.ABC::test(1);a.XYZ::test(1)
A.基类声明virtual后,所有派生类都继承得到了该虚函数.
#include#include#defineN3.1415usingnamespacestd;classHeight{private:floath;public:Height(floath):h
这是教程上的经典例子,多看书吧.
sleepy,asleep,sleeping,sleepless,ending,ended,endless,non-ending,unending
不要提出这种问题,代码还是自己动手写的好,写的过程中遇到麻烦,再拿出来问的话,我想会有更多人乐意帮你解答的再问:来不及哦!!今天晚上要交!!没时间慢慢写!!我对c++也不是很熟!急求高手流利的给个程序
#include#include#definePI3.14159usingnamespacestd;classShape{public:virtualdoublegetArea()=0;protect