c++多态问题//////////

问题描述

c++多态问题//////////
最近看 深度探索c++对象模型 看到这样一句话,本人新手不太明白,想请教各位,谢谢(问号那里。。)

解决方案

C++中与多态有关的几个概念

  多态(Polymorphism)是面向对象程序设计(OOD)的一个重要特征之一(其它还包括继承和封装)。

  多态字面意思就是“多种形态”。多态性是指允许将父对象设置成为它的一个或更多的子对象相等技术。简单地说,就是允许把子类类型的指针赋值给父类类型的指针,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(调用对应子类型......
答案就在这里:C++中的多态有关问题

解决方案二:
由实际类型指针。不被它定义的类型决定。这就是多态

解决方案三:
编译时绑定(compile-time/early binding):当调用函数时,在编译阶段编译器就能够决定应该执行哪段代码。

  运行时绑定(run-time/late binding):当调用虚函数时,编译器不能确定应该执行的代码,在运行阶段,才将函数的调用与对应的函数体进行连接。

时间: 2025-01-25 08:03:28

c++多态问题//////////的相关文章

C#多态小结——面向对象编程的三大机制之二

C#的多态性: 我的理解是:同一个操作,作用于不同的对象时,会有不同的结果,即同一个方法根据需要,作用于不同的对象时,会有不同的实现. C#的多态包括:接口多态,继承多态. 其中继承多态又包括通过虚拟方法实现的多态和通过抽象方法实现的多态性 例如:基类动物都有吃的方法,但是不同的动物吃的东西就会不一样,例如狼吃肉,羊吃草,这样"吃"的这个方法就要在派生类里面重新实现以下,运行时,通过指向基类的指针,来调用实现派生类中的方法. 接下来举例实现多态性. 1. 接口多态性 把动物"

Python编程之多态用法实例详解

  本文实例讲述了Python编程之多态用法.分享给大家供大家参考.具体分析如下: 什么是多态?顾名思义,多态就是多种表现形态的意思.它是一种机制.一种能力,而非某个关键字.它在类的继承中得以实现,在类的方法调用中得以体现.多态意味着变量并不知道引用的对象是什么,根据引用对象的不同表现不同的行为方式. 我们先看一个简单的例子,运算符多态: ? 1 2 3 4 5 6 a=34 b=57 print(a+b) a="世界" b="你好" print(a+b) 我们不知

JAVA多态示例

1 class SuperClass 2 { 3 public void test() 4 { 5 System.out.println("SuperClass"); 6 } 7 } 8 class SubClass1 extends SuperClass 9 { 10 public void test() 11 { 12 System.out.println("SubClass1"); 13 } 14 } 15 class SubClass2 extends Su

javascript面向对象中多态和泛型的关系

在大家看到我的这篇文章时,我正在拜读刘未鹏先生写的<暗时间>,如果你有幸看到我的这篇博客,我希望你也可以看看这本书.好了闲话少叙,进入正题. 在面向对象的Collection中处处体现泛型和多态的思想,且慢,由于泛型和多态两者之间本身就有一定的相似性,让我们先认清楚泛型和多态之后再进入话题. 多态是面向对象最基本的概念之一,即要模糊父类和之类之间的区别,如何模糊呢?我们再来举网络上的那个例子: class Aninal{ 叫:}//叫是动物的一个方法 class 猫 extend Animal

小心重写方法,正确实现多态

这是我今天在工作中碰到的问题,是关于继承和多态的.同事对项目中的一项基础功能进行了重构,可是当我们从CVS服务器上更新了项目源代码并编译了之后,发现这项功能已不能正常工作了.先撇开这个同事所犯的错误(对代码进行重构后没有测试他的新代码就上传到了CVS服务器上)不说,在这里我就说说这个问题所带出来的JAVA konwhow.由于我们的项目比较复杂,我在这里采取比较简单的例子来讲解这个问题.首先,我们有2个类:supper.TestSupper.java 和sub.TestSub.java.他们的代

漫谈C#编程中的多态与new关键字

编程|关键字 1. 你通常怎样用多态? 假设我有一个类,里面有一个 PrintStatus 方法,用于打印实例的当前状态,我希望该类的派生类都带有一个 PrintStatus 方法,并且这些方法都用于打印其实例的当前状态.那么我会这样表达我的愿望: // Code #01 class Base{ public virtual void PrintStatus() { Console.WriteLine("public virtual void PrintStatus() in Base"

《Java编程思想》(第二版)第7章:多态(polymorphism)

编程 封装,继承与多态是OOP的三个核心本质. Method-call(函数调用)绑定方式:如果绑定动作发生于程序执行前(由编译器和连接器完成),成为"先期绑定(early binding)"绑定动作将在执行期才根据对象型别尔进行,称为后期绑定late binding,或者执行期绑定run-time binding,或者动态绑定dynamic binding.Java运用RTTI(run-time type identification)技术来支持动态绑定. 上一章提到的final关键

vb.net类的封装,继承,多态,抽象之一

封装|继承   封装就是把各种方法和变量合并到一个类,用这个类代表某个对象为完成一定的任务所能保存的范围以及它能执行的操作. 继承就是根据现有类的方法和成员变量生成新的类的功能 多态就是对象随着程序执行而使其形式发生改变的能力. 抽象就是在暂时忽略对象的具体细节的功能. 在类中,构造器的方法使简化类的成员变量的初始化处理,当用继承从一个类构造另一个类的时候,会有两套构造器发生作用,即基类构造器和派生类构造器 例如: Public Class Form1    Inherits System.Wi

ASP.NET入门随想之多态、接口与委托

asp.net     曾几何时,我们居住的陆地沉睡在海底,大陆也紧密的联系在一起,千百年过去了七大洲的地壳板块在缓缓移动,喜马拉雅山在慢慢增高,世界在变,唯一不变的是变化. ■ 软件开发的悖论 - 把变化变成计划 在软件开发活动的过程中,常被一个悖论所缠绕:不写码就搞不清该做什么:搞不清做什么又不知道该如何写码. 人的思维是很随意的东西,不同的人,或同一个人的不同阶段,对同一件事情的看法都会有差异,可谓是远看成岭侧成峰,远近高低各不同.随意再加上变化,常常引起项目流产或工期大大拖延. 之所以会

C++:显示接口&amp;amp;运行期多态 和 隐式接口&amp;amp;编译期多态

类(class)和面向对象: 显示接口(explicit interface): 即在源代码中可见, 可以在头文件内看到类的所有接口; 运行期多态(runtime polymorphism):成员函数是virtual, 传入类的引用或指针时, 在运行时, 会自动匹配接口, 可能是基类的接口, 也可能是派生类的; 模板(templates)和泛型编程(generic programming): 隐式接口(implicit interface):typename T, 在函数中, 所必须支持一组操作