您的位置:首页 > 编程语言 > C语言/C++

C++ 派生例子 多态 虚函数

2013-06-02 22:21 218 查看
#include<iostream>using namespace std;class Point{private:int x;int y;public:Point(){};Point(int v_x,int v_y);virtual double get_value();virtual void show();};Point::Point(int v_x,int v_y){x=v_x;y=v_y;}double Point::get_value(){return 0;}void Point::show(){cout<<"The Point is ( "<<x<<" , "<<y<<" )"<<endl;}/////////////////////////////////////////////////////////////// POINT IS OVER//class Circle :public Point{private:int r;public:Circle(){};Circle(int v_r);virtual double get_value();virtual void show();};Circle::Circle(int v_r){r=v_r;}double Circle::get_value(){return (3.14*r*r);}void Circle::show(){cout<<"The Area of Circle is :"<<this->get_value()<<endl;}////////////////////////////////////////////////////////////CIRCLE IS OVER//class Cylin:public Circle{private:int h;public:Cylin(int v_h,int v_r):Circle(v_r){h=v_h;}virtual double get_value();virtual void show();};double Cylin::get_value(){return ( h * (Circle::get_value() ) );}void Cylin::show(){cout<<"The Area of cylin is :"<<this->get_value()<<endl;}/////////////////////////////////////////////// CYLIN IS OVER//int main(){Point p(1,2);p.show();Circle c(1);c.show();Cylin cy(2,1);cy.show();return 0;}
例子如果有更完善的解决方案,欢迎留言,,代码共享~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: