当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 一.简介虚函数是C++中用于实现多态(polymorphism)的机制。
 

 

 ·常见的三种中文内码转换代码    »显示摘要«
    摘要:常见的中文内码一般有gb2312(简体中文),gbk和台湾那边用的big5(繁体中文),有时候看一些台湾编程论坛里的资料,都是乱码,如果在ie中浏览,则要求安装繁体字库的支持。windows中提供了multibytetowidechar和widechartomultibyte两兄弟函数,足可以搞定这些功能了。 以下四个函数分别实现:大五码转gbk码/gbk转大五码gb2312码转gbk码/gbk......
 ·c/c++编程新手错误分析(1)    »显示摘要«
    摘要: (1)“我的程序都是对的,可结果不对” 想想你的周围,是不是也有人说这样的话?如果你也曾经说过,那就此打住,不要再说这句话,因为这句话只会显示说话者的无知。既然程序都是对的,那为什么结果不对?(2)“程序=算法+数据结构” 如果刚刚学完c语言,我们说这样的话,完全可以理解,而且可以说是正确的。但是如果你是一位即将从事c/c++编程的程序员,那么很遗憾,这个说法只能判错,殊不知,世界上还有......


C++中的虚函数(1)

一.简介

class a 【程序编程相关:FC SAN存储策略

虚函数是c++中用于实现多态(polymorphism)的机制.核心理念就是通过基类访问派生类定义的函数.假设我们有下面的类层次: 【推荐阅读:SAN(存储域网)安全策略 逐个歼灭可能

public: 【扩展信息:光盘库海量存储解决方案

{

virtual void foo() { cout foo(); // 在这里,a虽然是指向a的指针,但是被调用的函数(foo)却是b的!

这个例子是虚函数的一个典型应用,通过这个例子,也许你就对虚函数有了一些概念.它虚就虚在所谓“推迟联编”或者“动态联编”上,一个类函数的调用并不是在编译时刻被确定的,而是在运行时刻被确定的.由于编写代码的时候并不能确定被调用的是基类的函数还是哪个派生类的函数,所以被成为“虚”函数.

虚函数只能借助于指针或者引用来达到多态的效果,如果是下面这样的代码,则虽然是虚函数,但它不是多态的:

class a

{

public:

virtual void foo();

};

class b: public a

{

virtual void foo();

};

void bar()

{

a a;

a.foo(); // a::foo()被调用

}

1.1 多态

在了解了虚函数的意思之后,再考虑什么是多态就很容易了.仍然针对上面的类层次,但是使用的方法变的复杂了一些:

void bar(a * a)

{

a->foo(); // 被调用的是a::foo() 还是b::foo()?

}

因为foo()是个虚函数,所以在bar这个函数中,只根据这段代码,无从确定这里被调用的是a::foo()还是b::foo(),但是可以肯定的说:如果a指向的是a类的实例,则a::foo()被调用,如果a指向的是b类的实例,则b::foo()被调用.
...   下一页
 ·visual c++实现图形特技    »显示摘要«
    摘要:本文就visual c++ 6.0中实现图形的各种显示技巧的原理及具体方法做些探讨。 基本原理 在visual c++6.0中,显示位图的方法及过程如下: 1. 显示程序资源中的位图(位图的所有数据均存在于可执行文件中) (1)从资源中装入位图 ● 定义位图对象数据成员cbitmap m_bitmap; ● 调用cbitmap成员函数loadbitmap(),如m_bitma......
» 本期热门文章:

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