C++ 多重继承 函数重载 未搞清楚问题
2016-02-22 11:08
351 查看
#include "stdafx.h" #include <iostream> using namespace std; class ZooAnimal { }; class Bear : public ZooAnimal { }; class Endangered { }; class Panda : public Bear, public Endangered { }; void print(const Bear&) { cout << __LINE__ << endl; } void print(const Endangered&) { cout << __LINE__ << endl; } void print(const ZooAnimal&) { cout << __LINE__ << endl; } void _tmain(int argc, _TCHAR* argv[]) { Panda ying_yang; print(ying_yang); }
vc 2010 这样编译没有问题, 运行输出 13
如果 注释掉 15行,编译出错:error C2668: “print”: 对重载函数的调用不明确
如果 把 现在的第15行 移动到 第12行,,编译出错:error C2668: “print”: 对重载函数的调用不明确
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- PowerShell中的函数重载示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解