重载

作者在 2009-06-07 17:21:50 发布以下内容

#include<iostream>
using namespace std;
class base
{public:
virtual void fn(int x){cout<<"in base class,int x="<<x<<endl;}(1
};
 
class sub:public base
{public:
virtual void fn(int x){cout<<"in sub class,int x="<<x<<endl;}(2
virtual void fn(double x){cout<<"in sub class,double x="<<x<<endl;}(3
};
 
void test(base & b)
{//b.fn (2);
b.fn (3.5);
}
 

void main()
{test(base());
 test(sub());
}

我看书啦  还是弄不清多态和虚函数重载
 
 
 
你帮我分析分析吧 用上面这个程序
默认分类 | 阅读 2973 次
文章评论,共3条
keloy
2009-06-11 15:59
1
你上面写得什么东西啊,一点都没搞懂。test(base());<br />
这句是在什么啊??再看书,这个我都不知道咋给你讲~~<br />
<br />
虚函数的意义在于给继承类定义一个模板,然后在继承类中更改其定义,虚函数的最大特点是虚函数的基类函数是有函数体的。<br />
<br />
虚函数可以通过指针,进行对基类函数的调用,哎。你是一点都没理解到样。<br />
<br />
虚函数的变异过程是通过动态联翩来进行的,也就是说根据类对象的类型来决定使用基类还是派生类的虚函数进行编译。<br />
<br />
重载和这个就不一样了,重载自己看书。
小兔子慢慢(作者)
2009-06-11 22:02
2
bu是 这个是重载和覆盖那讲的<br />
test(base());这个我知道<br />
就是运行结果那个3怎么出来的<br />
笨死啦你<br />
已经好几个版本啦
keloy
2009-06-12 22:39
3
<div class="quote"><span class="q"><b>小兔子慢慢</b>: bu是 这个是重载和覆盖那讲的   test(base());这个我知道   就是运行结果那个3怎么出来的   笨死啦你   已经好几个版本啦</span></div>理解不到你想问什么~~
游客请输入验证码
文章分类
最新评论