当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 多态性 (polymorphism) 是面向对象编程的基本特征之一。
 

 

 ·[音乐天堂]eventide    »显示摘要«
    摘要:《eventide》声音,让水静止.............声间,沧海桑田.............声声,故事依然............. ......
 ·我了解的javaide浅析    »显示摘要«
    摘要:1,eclipse 开源 ,免费,需要硬件配置一般,安装插件繁琐本身不支持jsp;2,netbeans 开源 ,免费,需要硬件配置一般,支持jsp;3,jdeveloper 免费,需要硬件配置一般,支持jsp而且可视化编辑,但其程序要移植到tomcat或者resin上都要做改动,这样的软件再好也和java背道而驰(移植性啊);4,weblogic集成且直面服务,此类必成趋势;5,websphere......


C++ 多态性机制初探
多态性 (polymorphism) 是面向对象编程的基本特征之一.而在 c++ 中,多态性通过虚函数 (virtual function) 来实现.我们来看一段简单的代码:

#include <iostream>

using namespace std; 【程序编程相关:Java 程序编码规范

【推荐阅读:JDK1.5新特性介绍

【扩展信息:串口基础类库(WIN32)ver 0.2

class base

{

int a;

public:

virtual void fun1() {cout<<"base::fun1()"<<endl;}

virtual void fun2() {cout<<"base::fun2()"<<endl;}

virtual void fun3() {cout<<"base::fun3()"<<endl;}

};

class a:public base

{

int a;

public:

void fun1() {cout<<"a::fun1()"<<endl;}

void fun2() {cout<<"a::fun2()"<<endl;}

};

void foo (base& obj)

{

obj.fun1();

obj.fun2();

obj.fun3();

}

int main()

{

base b;

a a;

foo(b);

foo(a);

}

运行结果为:

base::fun1()

base::fun2()

base::fun3()

a::fun1()

a::fun2()

base::fun3()

仅通过基类的接口,程序调用了正确的函数,它就好像知道我们输入的对象的类型一样!

那么,编译器是如何知道正确代码的位置的呢?其实,编译器在编译时并不知道要调用的函数体的正确位置,但它插入了一段能找到正确的函数体的代码.
...   下一页

 ·[音乐天堂]伤感    »显示摘要«
    摘要:《伤感》心,寒冷!心,哭泣!心,哭喊!心,哭诉!只因感觉不到一丝安慰............. ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE