C语言中怎么实现多态? [问题点数:100分,结帖人CSDN]

Bbs1
本版专家分:9
结帖率 98.75%
Bbs1
本版专家分:0
Bbs8
本版专家分:46357
Blank
黄花 2006年2月 C/C++大版内专家分月排行榜第二
Bbs6
本版专家分:8962
Blank
蓝花 2006年9月 C/C++大版内专家分月排行榜第三
Bbs8
本版专家分:46357
Blank
黄花 2006年2月 C/C++大版内专家分月排行榜第二
Bbs1
本版专家分:2
Bbs1
本版专家分:43
Bbs1
本版专家分:0
Bbs7
本版专家分:25852
Blank
黄花 2003年10月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2004年3月 C/C++大版内专家分月排行榜第三
Bbs8
本版专家分:46357
Blank
黄花 2006年2月 C/C++大版内专家分月排行榜第二
Bbs2
本版专家分:369
Bbs2
本版专家分:133
Bbs2
本版专家分:133
Bbs2
本版专家分:322
Bbs1
本版专家分:46
Bbs4
本版专家分:1605
Bbs2
本版专家分:228
Bbs1
本版专家分:12
Bbs6
本版专家分:9645
Bbs7
本版专家分:25852
Blank
黄花 2003年10月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2004年3月 C/C++大版内专家分月排行榜第三
Bbs1
本版专家分:1
Bbs1
本版专家分:4
Bbs1
本版专家分:23
Bbs2
本版专家分:414
Bbs3
本版专家分:676
Bbs3
本版专家分:676
Bbs1
本版专家分:46
Bbs1
本版专家分:46
Bbs1
本版专家分:46
Bbs2
本版专家分:171
Bbs1
本版专家分:28
Bbs2
本版专家分:165
Bbs1
本版专家分:54
Bbs1
本版专家分:20
Bbs2
本版专家分:159
Bbs2
本版专家分:477
Bbs2
本版专家分:114
Bbs3
本版专家分:551
Blank
红花 2001年11月 专题开发/技术/项目大版内专家分月排行榜第一
Bbs4
本版专家分:1348
Bbs1
本版专家分:8
Bbs1
本版专家分:36
Bbs4
本版专家分:1323
Bbs1
本版专家分:36
Blank
红花 2007年12月 C++ Builder大版内专家分月排行榜第一
2007年11月 C++ Builder大版内专家分月排行榜第一
2007年10月 C++ Builder大版内专家分月排行榜第一
2007年9月 C++ Builder大版内专家分月排行榜第一
2007年8月 C++ Builder大版内专家分月排行榜第一
2007年7月 C++ Builder大版内专家分月排行榜第一
2007年6月 C++ Builder大版内专家分月排行榜第一
Blank
黄花 2008年5月 C++ Builder大版内专家分月排行榜第二
2008年1月 C++ Builder大版内专家分月排行榜第二
Blank
蓝花 2008年4月 C++ Builder大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs2
本版专家分:138
Bbs1
本版专家分:50
Bbs1
本版专家分:50
Bbs1
本版专家分:72
Bbs1
本版专家分:4
Bbs6
本版专家分:6396
Bbs1
本版专家分:85
多种方法实现多态!!!
本博客解决 如下几个问题!!!第一:什么是<em>多态</em>? 第二:传统方法<em>怎么</em><em>实现</em><em>多态</em>? 第三:是否有新的方法<em>实现</em><em>多态</em>?什么是<em>多态</em>? <em>多态</em>:<em>多态</em>指同一个实体同时具有多种形式。它是面向对象程序设计(OOP)的一个重要特征(引自百度百科)。 通俗解释:就是同一种实体,按道理来说,仅仅能表明一种状态。但是通过技术手段,让其可以表示多种状态,这就是<em>多态</em>!!!举个栗子 【例子】 编程角度解释:一个接口,多种
Java中三种多态实现方式
1.普通类  AnimalFu a =  new AnimalZi new(); 2.抽象类 animal  是父类抽象类 Animal a = new Cat(); 3.接口 // 学生是类  smoking  是接口  Smoking sk = new Student()  <em>多态</em>的特点: 变量:编译看父类 方法:运行看子类...
实现多态的方法
<em>多态</em>,其实就是一个事物的不同表示方法. <em>多态</em>的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。 比如: Person→Chinese→American→Korean,每个国家的人都有一个说出自己国籍的方法,但这个事情就是说出自己的国籍,只是说出的方法不一样. 当有一个Person[]的时候,可以
Java技术----多态实现原理
0.前言 <em>多态</em>在Java技术里有很重要的地位,在面试中也会经常被问到。 <em>多态</em>的使用大家应该都比较了解,但是<em>多态</em>的<em>实现</em>原理就有点抽象了,查了很多很多资料,连续几天断断续续的看,有时候看着看着就走神了。毕竟太抽象,哈哈~ 不过依然硬着头皮看下来了(也不知道看了多少遍),并且将很多资料里关于<em>多态</em>的知识进行了整理(添添加加删删减减了很久,也把重点根据自己的理解用红字标出),便有了这篇
Java总结 多态实现方法
什么是<em>多态</em>? 概念:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是<em>多态</em>性。 简单的说:就是用基类的引用指向子类的对象。 举个例子: 电脑上的F1按键,当不打开任何文件点击F!显示的是系统的帮助文档,当打开word文档点击F1显示的是word文档的帮助,同一个按钮但是能<em>实现</em>不同的处理方式。 为什么要用<em>多态</em>? 我们知道,封装可以隐藏<em>实现</em>细节,使得代...
理解java的多态
面向对象编程有三大特性:封装、继承、<em>多态</em>。        封装隐藏了类的内部<em>实现</em>机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。        继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为<em>实现</em><em>多态</em>做了铺垫。那么什么是<em>多态</em>呢?<em>多态</em>的<em>实现</em>机制又是什么?请看我一一为你揭开:     
C++多态实现方式总结
<em>实现</em><em>多态</em>有两种方法: 1、覆盖 *********** 覆盖是指子类重新定义父类的虚函数的做法。 2、重载 *********** 重载是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 分析: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 重载是在同一个类中相同的返回类型和方法名,但是参数的
为何使用多态以及如何实现动态多态
#include&amp;lt;iostream&amp;gt; using namespace std; class CBase { public: CBase() { } CBase(int x) { num = x; } int GetNum() { return num; } v...
Java中,多态实现有哪些要求?实现多态的关键技术?
<em>多态</em>指的是允许不同类的对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。<em>实现</em><em>多态</em>的方法是动态绑定( Dynamic Binding),动态绑定指的是在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。   在Java语<em>言中</em>, Override(覆盖、重写)是<em>实现</em><em>多态</em>的关键技术,在子类中定义与父类相同的方法,同时有自己不同...
C++多态实现原理
一、<em>多态</em>的概念            <em>多态</em>就是多种形态,C++的<em>多态</em>分为静态<em>多态</em>与动态<em>多态</em>。静态<em>多态</em>就是重载,因为在编译期决议确定,所以称为静态<em>多态</em>。在编译时就可以确定函数地址。动态<em>多态</em>就是通过继承重写基类的虚函数<em>实现</em>的<em>多态</em>,因为实在运行时决议确定,所以称为动态<em>多态</em>。运行时在虚函数表中寻找调用函数的地址。     在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实...
C++中实现多态的原理
C++的<em>多态</em>原理。
请问C++的多态以及类型转换?
// <em>多态</em>性.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include"iostream"; using std::cin; using std::co
C++多态 及底层如何实现
c++<em>多态</em>一,<em>多态</em>1.虚函数2.虚函数的重写3.<em>多态</em>的简单举例4.构成<em>多态</em>的充分条件5.探索<em>多态</em>的底层---虚表5.1什么是虚表5.2虚表6.关于<em>多态</em>里面一些需要注意的地方7.协变8.纯虚函数和抽象类 一,<em>多态</em> <em>多态</em>是c++面向对象三大特性之一,关于什么是<em>多态</em>,我们需要先来了解一下虚函数和重写。 1.虚函数 在类的成员函数前面加上virtual关键字,就构成了虚函数。 2.虚函数的重写 当在子类定...
深入理解c++多态实现原理
引言       <em>多态</em>是指通过基类的指针或者引用,在运行时动态调用实际绑定对象函数的行为。与之相对应的编译时绑定函数称为静态绑定。<em>多态</em>是面向对象编程的核心思想之一,因此我们有必要深入探索一下它的<em>实现</em>原理。理解了原理才能更好的使用。前置条件        现有代码如下所示,非常简单的例子。通过基类的引用调用recv函数来触发<em>多态</em>。接下来的分析涉及汇编知识,如果还没熟悉汇编,可以看另外一篇文章&amp;lt;...
C++是怎么实现多态
<em>多态</em>是C++的三大重大特性之一,简而言之,它即是在运行时才确定到底应该执行父类还是子类的虚函数。 那么它是如何<em>实现</em>的喃?说到其<em>实现</em>原理,我们必须谈到两点:推迟绑定技术和虚表。我们先来讲推迟绑定,对普通函数而言,对象实例
C++ 多态实现原理分析
一、什么是<em>多态</em> 在面向对象开发中,<em>多态</em>是一个很重要的特性。 什么是<em>多态</em>呢?就是程序运行时,父类指针可以根据具体指向的子类对象,来执行不同的函数,表现为<em>多态</em>。   二、C++ <em>多态</em>的<em>实现</em>原理 1. <em>实现</em>原理 当类中存在虚函数时,编译器会在类中自动生成一个虚函数表 虚函数表是一个存储类成员函数指针的数据结构 虚函数表由编译器自动生成和维护 virtual 修饰的成员函数会被编译器放入...
浅谈C++多态
最近复习到了C++的<em>多态</em>性,我想把<em>多态</em>性的一些知识点进行下梳理总结。本文所有代码均在windows10的VS2013平台上测试 什么是<em>多态</em>? <em>多态</em>性(polymorphism)据说最早源自希腊语,从字面上理解就是多种形态,多种形式。具体到C++这种面向对象(OOP)的语<em>言中</em>,其实就是“一种接口,多种<em>实现</em>(方法)”。 <em>多态</em>可分为静态<em>多态</em>和动态<em>多态</em>,具体的分类情况如下: 静态<em>多态</em>和动态<em>多态</em>
C++ 多态 以及实现多态的三种方式
实实在在说<em>多态</em>(C++篇) 1.    什么是<em>多态</em>... 1 2.    <em>多态</em>带来的好处... 1 3.    C++中<em>实现</em><em>多态</em>的方式... 1 4.    细说用函数重载<em>实现</em>的<em>多态</em>... 2 5.    细说用模板函数<em>实现</em>的<em>多态</em>... 3 6.    小结... 4 7.    细说用虚函数<em>实现</em>的<em>多态</em>... 4 7.1.     虚函数是<em>怎么</em>回事...
20170326_请说出C++多态的含义
20170326_请说出C++<em>多态</em>的含义
C/C++—— C++编译器是如何实现多态
C/C++—— 对<em>多态</em>现象的理解C++中<em>多态</em>的<em>实现</em>原理
C++ 多态机制实现
C++ <em>多态</em>机制<em>实现</em> compiler implement late binding mechanism 迟绑定是如何<em>实现</em>的(How C++ implements late binding)关键字virtual告诉编译器不应该执行早期绑定,相反的,应该自动的安装所有必要的机制去执行迟绑定 ( The keyword virtual tells the compiler it should no
c++ 如何实现多态
//FileName:polymorphism_test.cpp//Author:keakon//CreateDate:2006/5/11//LastEditedDate:2006/5/26//通过3次测试,演示了如何<em>实现</em><em>多态</em>性。#include&amp;lt;iostream&amp;gt;#include&amp;lt;iterator&amp;gt;#include&amp;lt;ostream&amp;gt;#include&amp;lt...
C++多态实现机制
<em>多态</em>分为两种,静态<em>多态</em>和动态<em>多态</em>。静态<em>多态</em>也称编译时<em>多态</em>,主要包括模板和重载。而动态<em>多态</em>则是通过类的继承和虚函数来<em>实现</em>,当基类和子类拥有同名同参同返回的方法,且该方法声明为虚方法,当基类对象,指针,引用指向的是派生类的对象的时候,基类对象,指针,引用在调用基类的虚函数,实际上调用的是派生类函数。这就是动态<em>多态</em>。 静态<em>多态</em>: 1.   模板: 模板就是<em>实现</em>代码重用机制的一种工具,它可以<em>实现</em>类型
c++多态实现的机制
1 什么是<em>多态</em>? <em>多态</em>性可以简单的概括为“1个接口,多种方法”,在程序运行的过程中才决定调用的机制 程序<em>实现</em>上是这样,通过父类指针调用子类的函数,可以让父类指针有多种形态。 2 <em>实现</em>机制 举一个例子: #include class animal { public: void sleep() { cout } void breathe() { cout } };
C++多态实现及原理详细解析
C++的<em>多态</em>性用一句话概括就是: 在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。 如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数,此为<em>多态</em>的表现; 在看看以下几点: 1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2. 存在虚函数的类都有一...
go中如何实现多态
go中如何<em>实现</em><em>多态</em> 痕无落关注 0.12016.04.24 10:57*字数 408阅读 6137评论 5喜欢 5 接触go快半年了, 但是还是属于那种用到时去搜索的状态, 没有系统的去研究研究 go是一种强类型的语言,每当我从php切换到go时总有些许的不适应,但是追求优雅,就不应该妥协。 go没有implements,extends关键字,所以习惯于OOP...
接口如何实现多态
抽象类是用来继承的,不能被实例化。抽象类里可以有成员变量,接口中没有。 (1)抽象类里的抽象方法,只有在子类<em>实现</em>了才能使用。 (2)抽象类里的普通方法,可被子类调用。 (3)接口里的方法,都被默认修饰为public abstract类型。 (4)接口里的变量,都被默认修饰为public static final类型,即常量。 【13】例:演示接口是如何<em>实现</em><em>多态</em>的。 package data; //...
多态怎么实现的?
VB语言支持类,但它不支持<em>多态</em>,所以VB是一个基于对象而非面向对象的语言。 <em>多态</em>性:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。要理解<em>多态</em>,首先要了解程序的执行过程: 1. 源程序通过编译生成可执行文件时,是放在外存中的,程序中的变量和函数只有逻辑地址。 2. 程序运行时,程序从外存加载到内存,为程序中的变量和函数分配物理内存单元,使其具备物理地址。物理地址与变量民、函数名
多态是如何实现
1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。3. <em>多态</em>性是一个接口多种<em>实现</em>,是面向对象的核心。分为类的<em>多态</em>性和函数的<em>多态</em>性。4. <em>多态</em>用虚函数来<em>实现</em>,结合动态绑定。5. 纯虚函数是虚函数再加上= 0。6. 抽象类是指包括至少一个纯虚函数的
怎样实现多态
1.通过对象直接调用成员函数时,始终默认使用该对象的类的成员函数(除非用::显示指定类名)     2.通过指向对象的指针或引用调用成员函数时,如果该函数是实函数,则调用该指针或引用的类的成员函数;如果该函数是虚函数,则调用该指针或引用指向的对象的类的成员函数。
继承与多态
继承的概念 继承需要符合的关系:is-a,父类更通用、子类更具体  子类继承父类的所有属性和方法(不包括父类构造方法) super可以调用父类的方法和构造方法 子类可以重写父类的方法 <em>多态</em>的概念 使用<em>多态</em>之后,当需要增加新的子类类型时,无需更改总部类,程序的可扩展性及可维护性增强  简单来说,<em>多态</em>是具有表现多种形态的能力的特征  同一个<em>实现</em>接口,使用不同
java多态实现原理
众所周知,<em>多态</em>是面向对象编程语言的重要特性,它允许基类的指针或引用指向派生类的对象,而在具体访问时<em>实现</em>方法的动态绑定。C++ 和 Java 作为当前最为流行的两种面向对象编程语言,其内部对于<em>多态</em>的支持到底是如何<em>实现</em>的呢,本文对此做了全面的介绍。 注意到在本文中,指针和引用会互换使用,它们仅是一个抽象概念,表示和另一个对象的连接关系,无须在意其具体的<em>实现</em>。 Java 的<em>实现</em>方式 J
多态与继承的概念及区别
<em>多态</em>的概念: <em>多态</em>指同一个实体同时具有多种形式。它是面向对象程序设计(OOP)的一个重要特征。 如果一个语言只支持类而不支持<em>多态</em>,只能说明它是基于对象的,而不是面向对象的。 <em>多态</em>:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用<em>实现</em>派生类中的方法。 <em>多态</em>就是允许方法重名 参数或返回值可以是父类型传入或返
多态性有哪些,怎么实现
C++的<em>多态</em>性:在基类的函数前加上virtual关键字,在派生类中重写该函数,指相同的对象收到不同的消息或者不同的对象收到相同的消息时产生的不同的<em>实现</em>动作。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。支持两种<em>多态</em>:编译时<em>多态</em>(静态)、运行时<em>多态</em>(动态) 编译时<em>多态</em>:就是在编译期确定的一种<em>多态</em>。在C++中主要体现在函数模板,函数重载和<em>多态</em>无关。 运行时<em>多态</em>性:...
Python学习篇 之 如何实现多态机制
Python中没有重载的概念,所以其类的构造函数只能有一个。 那么当遇到需要重载的情况时,Python是如何<em>实现</em>此类功能的呢?     A : 首先需要了解一下为什么需要提供函数重载:      函数重载主要为了解决两个问题       可变参数类型       可变参数个数 B :为了解决上述两个问题,Python以如下两条特性进行了处理      特性一:Python中函数的参
虚函数-虚表-虚指针-多态性-如何实现多态-纯虚函数-抽象类-转
1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。 3. <em>多态</em>性是一个接口多种<em>实现</em>,是面向对象的核心。分为类的<em>多态</em>性和函数的<em>多态</em>性。 4. <em>多态</em>用虚函数来<em>实现</em>,结合动态绑定。 5. 纯虚函数是虚函数再加上= 0。 6. 抽象类是指包
初学者如何理解多态
<em>多态</em>对于程序初学者来说是一道不小的槛。与递归类似,不管是书中还是老师授课,都把其讲得神乎其神,让读者觉得一头雾水,莫名其妙。但我认为,<em>多态</em>实际上非常简单,学习的难点在于在接触<em>多态</em>之前,大脑中并没有一个直观的印象。在此,我就给大家实际示例什么是<em>多态</em>。         我们首先定义一个接口, package org.tny.test; public interface People { p
实现多态的三个条件
1. 要有继承 2.父类对象引用子类对象 3. 要有方法的t
浅谈多态机制的意义及实现
标题:浅谈<em>多态</em>机制的意义及<em>实现</em> 作者:舒の随想日记 在面向对象编程(Object-Oriented Programming, OOP)中,<em>多态</em>机制无疑是其最具特色的功能,甚至可以说,不运用<em>多态</em>的编程不能称之为OOP。这也是为什么有人说,使用面向对象语言的编程和面向对象的编程是两码事。 <em>多态</em>并没有一个严格的定义,维基百科上给它下的定...
虚方法实现多态
大家都知道面向对象的三大特征,封装、继承、<em>多态</em>,这里解释一下<em>多态</em>——什么叫<em>多态</em>同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是<em>多态</em>性。换句话说,实际上就是同一个类型的实例调用“相同”的方法,产生的结果是不同的。这里的“相同”打上双引号是因为这里的相同的方法仅仅是看上去相同的方法,实际上它们调用的方法是不同的。 ——里氏转换<em>多态</em>是基于对象继承和里氏转换的,那么什么叫叫作里氏转换呢
什么是多态实现多态的机制是什么?
面试官:什么是<em>多态</em>呢? 猪队友:多种形态,气体,液体,固体~ 面试官:go out! now! 到底什么是<em>多态</em>呢? 官方说: 接口的多种不同的<em>实现</em>方式即为<em>多态</em>。 <em>多态</em>性是允许你将父对象设置成为一个或更多的他的子对象相等的技术。 我们在程序中定义的引用变量所指向的具体类型和通过该引用变量的方法调用在编程的时候并不确定,当处于运行期间才确...
java 笔试 java中实现多态的机制是什么
java 笔试 java中<em>实现</em><em>多态</em>的机制是什么
Java中多态实现机制
 <em>多态</em>性是面向对象程序设计代码重用的一个重要机制,我们曾不只一次的提到Java<em>多态</em>性。在Java运行时<em>多态</em>性:继承和接口的<em>实现</em>一文中,我们曾详细介绍了Java<em>实现</em>运行时<em>多态</em>性的动态方法调度;今天我们再次深入Java核心,一起学习Java中<em>多态</em>性的<em>实现</em>。“polymorphism(<em>多态</em>)”一词来自希腊语,意为“多种形式”。多数Java程序员把<em>多态</em>看作对象的一种能力,使其能调用正确的方法版本。尽管如此,这种面向<em>实现</em>的观点导致了<em>多态</em>的神奇功能,胜于仅仅把<em>多态</em>看成纯粹的概念。<b
走进计算机病毒.part1下载
走进计算机病毒,电子书。新手可以看看! 相关下载链接:[url=//download.csdn.net/download/sanjin1984/4540971?utm_source=bbsseo]//download.csdn.net/download/sanjin1984/4540971?utm_source=bbsseo[/url]
LabVIEW_8.20程序设计从入门到精通.pdf 3下载
LabVIEW_8.20程序设计从入门到精通.pdf 分为三卷,一二卷是一样大的,不让我上传了,郁闷,我再看看,现在不要下,我搞好了再下 相关下载链接:[url=//download.csdn.net/download/yyyaj/3063923?utm_source=bbsseo]//download.csdn.net/download/yyyaj/3063923?utm_source=bbsseo[/url]
详解Linux2.6内核中基于platform机制的驱动模型下载
本文以Linux 2.6.25 内核为例,分析了基于platform总线的驱动模型。首先介绍了Platform总线的基本概念,接着介绍了platform device和platform driver的定义和加载过程,分析了其与基类device 和driver的派生关系及在此过程中面向对象的设计思想。最后以ARM S3C2440中I2C控制器为例介绍了基于platform总线的驱动开发流程。 相关下载链接:[url=//download.csdn.net/download/mmzhij/4472789?utm_source=bbsseo]//download.csdn.net/download/mmzhij/4472789?utm_source=bbsseo[/url]
我们是很有底线的