2014年2月20日

摘要: 今天看到一道题目:#include using namespace std;class A{public:virtual void foo(int number=10){coutfoo();return 0;}问最后输出结果是多少?按照C++ Primer中关于通过积累调用被屏蔽的虚函数的讲解(C++ Primer P501)中,此处虽然a是A的指针,但是其基本对象是B类的,所以在调用foo函数时,会调用B的foo函数。那么这道题的答案是20嘛?答案是: 10原因为:虽然最终调用的是B的foo函数,但是考虑一下虚函数与默认实参的关系(C++ Primer P482),当通过基类的引用或指针调用 阅读全文
posted @ 2014-02-20 12:10 楠哥1991 阅读(296) 评论(0) 推荐(0) 编辑

导航