注册 登录
编程论坛 C++教室

虚函数的使用

换空依晨 发布于 2014-02-26 16:21, 619 次点击
程序代码:
#include"iostream.h"
class base
{
public:
    virtual ~base() {}
    virtual void func()
    {
    cout<<"base output!"<<endl;
    }
};
class derived1:public base
{
public:
    void func()
    {cout<<"derived1 output!"<<endl;
    }
};
class derived2:public derived1
{
public:
    void func()
    {cout<<"derived2 output!"<<endl;
    }
};
void test ( base &rBase)
{
rBase.func();
};
void main()
{
base bObj;
derived1 d1Obj;
derived2 d2Obj;
test(bObj);
test(d1Obj);
test(d2Obj);
}

void test ( base &rBase)
这个函数怎么定义在外部了 这里面的base代表什么意思啊
5 回复
#2
fxbszj2014-02-26 16:27
析构函数,自己上网查是做什么的
#3
换空依晨2014-02-26 16:36
回复 2楼 fxbszj
我问的是void test ( base &rBase)这个里面的base
#4
玩出来的代码2014-02-26 17:41
这不是虚函数的问题,这是基础知识的问题
#5
天使梦魔2014-02-26 19:27
你是想问为什么类没有声明却使用了它的成员?
函数的参数就已经定义了,参数使用上面的类,定义出rbase,函数的过程直接使用参数定义出来的类结构。
虽然这是个引用,在被传入函数前,函数会去找这个类做解析,传入函数前它已经具备了类的所有属性
#6
三色贝壳2014-03-11 17:00
void test ( base &rBase)定义在外面说明它是一个全局函数,并不属于某个类,里面的base是自定义的数据类型
个人理解,希望对你有帮助
1