`
xitong
  • 浏览: 6196025 次
文章分类
社区版块
存档分类
最新评论

多态的简单应用

 
阅读更多

//test.cc
#include <iostream>
using namespace std;
const float PI = 3.1415;
/****************************
*多态的简单应用
*创建时间:2011.07.25
*修改时间:2011.07.25
*作者:hahaya
*****************************/
class Shape
{
    public:
virtual float area() = 0;
};
class Rectangle:public Shape
{
    public:
Rectangle(float length, float width)
{
    this->length = length;
    this->width = width;
}
float area()
{
    return length*width;
}
    private:
float length;
float width;
};
class Circle:public Shape
{
    public:
Circle(int r)
{
    this->r = r;
}
float area()
{
    return PI*r*r;
}
    private:
float r;
};
class TotalArea
{
    public:
void Total(Shape *sh)
{
    total += sh->area();
}
void PrintArea()
{
    cout << "Toal Area:" << total << endl;
}
    private:
float total;
};
int main()
{
    Shape *sh1 = new Rectangle(5, 10);
    Shape *sh2 = new Circle(1);
    TotalArea tot;
    tot.Total(sh1);        //调用Rectangle类的area()函数
    tot.Total(sh2);        //调用Circle类的area()函数
    tot.PrintArea();
    return 0;
}

程序运行结果:


分享到:
评论

相关推荐

    Java 多态应用,掌握多态

    该资料,是一个多态的例子,充分的掌握多态,让多态得到很好的应用

    关于C#继承多态的应用项目

    关于继承和多态的综合简单项目! 运用以前的泛型集合作为基础 在类的基础上添加构造函数以及重载方法

    C++简单应用程序多态和派生的应用

    C++简单应用程序,C++简单应用程序多态和派生的应用

    C++程序设计-封装、继承多态应用示例

    C++程序设计学习继承、封装、多态的例子。代码简单明了,清晰明确,用龙与人战斗的场景,通过控制台程序,展示了三大特征的最基本应用,循序渐进。适合初学者借鉴学习。

    java继承、多态的简单程序.zip

    java继承、多态的简单程序,适合初学者参考,配套Bin_0902的博客使用

    Lesson06--OOP多态.pdf

    介绍多态,以及多态的基础知识,简单多态的应用,及其语法知识

    C++面向对象之多态的实现和应用详解

    本文主要给大家介绍的是关于C++面向对象之多态的实现和应用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 多态 大家应该都听过C++三大特性之一多态,那么什么多态呢?多态有什么用...

    PHP基于接口技术实现简单的多态应用完整实例

    本文实例讲述了PHP基于接口技术实现简单的多态应用。分享给大家供大家参考,具体如下: &lt;?php //实现多态的一个简单实例 interface USB{ //接口中的方法权限必须是public,并且只有抽象方法或常量 function ...

    C#的简单 基本语法

    C#语法入门 1、大小写区别 2、在C#中的布尔类型为bool,而JAVA为boolean 3、C#有一个不安全模式,在此模式之下可以使用指针 4、有枚举类型 5、代理和索引器 6、运算符重载 7、没有throws关键字 ...

    Java-多态与接口综合案例_USB接口设计

    综合实际应用,我们做出以下总结: ① 成员变量 编译看左边(父类),运行看左边(父类) ② 成员方法 编译看左边(父类),运行看右边(子类)。动态绑定 ③ 静态方法 编译看左边(父类),运行看左边(父类)。 多态的弊端:...

    PHP100视频教程 24:PHP面向对象开发的学习(八)

    1、多态的介绍与优势多态性是继抽象和继承后,面向对象语言的第三个特征。从字面上理解,多态的意思是“多种形态”,简单来说,多态是具有表现多种形态的能力的特征,在OO中是指“语言具有根据对象...3、多态的简单应用

    django-polymodels:Django的多态模型实现

    django应用程序,提供了一种简单的方法来检索转换为原始ContentType模型类型。 安装 &gt;&gt;&gt; pip install django - polymodels 确保'django.contrib.contenttypes'和'polymodels'在您的INSTALLED_APPS中 INSTALLED_...

    ATM java实现

    atm机java实现,练习了面向对象思想,多态的应用,工厂模式的应用,简单易懂。支持多人操作。可以很好的练习集合的使用,并设计到了泛型。

    PHP5中实现多态的两种方法实例分享

    我们只能说在PHP5中,多态应用在方法参数的类型提示位置。一个类的任何子类对象都可以满足以当前类型作为类型提示的类型要求。所有实现这个接口的类,都可以满足以接口类型作为类型提示的方法参数要求。简单的说,一...

    (第24讲) PHP面向对象开发的学习(八)

    1、多态的介绍与优势 2、运算符 :instanceof 3、多态的简单应用

    PHP面向对象编程之深入理解方法重载与方法覆盖(多态)

    什么是多态? 多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种...在实际的应用开发中,采用面向对象中的多态主要在于可以将不同的子类对象都当作一个父类来处理,并且可以屏蔽不同子

    loopback-polytest:环回多态用户角色关系的测试仓库

    环回多测在用户和角色之间建立多态关系的简单测试应用程序。

    C#序列化和反序列化

    该文件时对C#中的序列化(Serialize)和反序列化(Deserialize)的简单应用源码

    明仔PHP面向对象(六日通)教程

    (一)简单方法理解,面向对象 1-1 面向对象的假设举例 1-2 我的细微理解 (二) 使用Class创建一个类 2-1 使用Class创建一个类 (三) 类属性 和类方法 3-1 类属性 和类方法 (四)使用New函数 将对象实例化 4-1 使用New...

Global site tag (gtag.js) - Google Analytics