C++ 多继承中的多义性

如果一个子类继承多个基类,这多个基类都有一个相同的函数,那么子类调用这个相同的函数就会产生多义性,编译就不能通过:

class base1{
public:virtual void fun1(){ cout << "1" << endl; }
};
class base2{
public:virtual void fun1(){ cout << "2" << endl; }
};
class base3{
public:virtual void fun1(){ cout << "3" << endl; }
};class derive :public base1, public base2, public base3{
};int main(){derive a;a.fun1(); //fun1不明确return 0;
}

解决方法可以是在子类中重写这个函数,这样就会调用子类的函数,不会产生多义

class base1{
public:virtual void fun1(){ cout << "1" << endl; }
};
class base2{
public:virtual void fun1(){ cout << "2" << endl; }
};
class base3{
public:virtual void fun1(){ cout << "3" << endl; }
};class derive :public base1, public base2, public base3{
public:virtual void fun1(){ cout << "derive" << endl; }
};int main(){derive a;a.fun1();return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Samba Linux 和windows 共享

1.安装Samba (yum install Samba) 2.配置Samba &#xff08;Samba的配置文件为/etc/samba/smb.conf&#xff09; 1&#xff09;打开smb.conf vim /etc/samba/smb.conf 2)将文件中的内容做如下相应修改&#xff1a;    #securityuser 后面添加&#xff1a; secur…

python文本字符串比对_python-模糊字符串比较

python-模糊字符串比较我正在努力完成的是一个程序&#xff0c;该程序读取文件并根据原始句子比较每个句子。 与原始句子完全匹配的句子将得到1分&#xff0c;而与之相反的句子将得到0分。所有其他模糊句子将得到1到0分之间的分数。我不确定要使用哪种操作在Python 3中完成此操…

C++判断字符是字母或数字

判断字符是字母&#xff1a;isalpha() 判断字符是数字&#xff1a;isdigit() 判断字符是字母或数字&#xff1a;isalnum()

获取版本号

-(NSString*)version; { NSDictionary *infoDictionary [[NSBundle mainBundle] infoDictionary]; CFShow((__bridge CFTypeRef)(infoDictionary)); // app版本 NSString *app_Version [infoDictionary objectForKey:"CFBundleShortVersionString"]; return app_Ve…

深度!全球机器人产业趋势及特征分析

来源&#xff1a;AI城市智库当前&#xff0c;全球机器人市场规模持续扩大&#xff0c;工业机器人市场增速回落&#xff0c;服务、特种机器人增速稳定。技术创新围绕仿生结构、人工智能和人机协作不断深入&#xff0c;产品在教育陪护、医疗康复、危险环境等领域的应用持续拓展&a…

设计代码说明什么是多态性?如何实现多态?(代码中要写注释解释)_狗屎一样的代码!快,重构我...

关注后你就是我的人了重构不止是代码整理&#xff0c;它提供了一种高效且受控的代码整理技术。&#xff08;一&#xff09;重构原则1、何谓重构对软件内部结构的一种调整&#xff0c;目的是在不改变软件可观察行为的前提下&#xff0c;提高其可理解性&#xff0c;降低其修改成本…

C++字母转大小写

大小写字母转化&#xff1a; 转化为大写&#xff1a;toupper() 转化为小写&#xff1a;tolower()

影响国家安全的四项新兴技术

来源&#xff1a;《Technology and National Security: Maintaining Americas Edge》The Aspen Institute (2019年1月31日)本文节选自专著《Technology and National Security: Maintaining Americas Edge》&#xff0c;本文部分讨论了四种新兴技术&#xff1a;生物技术、小型卫…

中小学生学python_《中小学生Python编程入门指南》 附录一

我们怎么看懂二进制的大小呢&#xff1f;换句话说&#xff0c;二进制怎么转化成十进制来理解呢&#xff1f;举个例子&#xff0c;比如说有一个8位的二进制数“01011011”如下&#xff0c;转换为十进制的&#xff0c;应该怎么转化&#xff1f;二进制数的每一位数都是2的几次幂&a…

Expected tensor for argument #1 ‘input‘ to have the same device as tensor for argument #2 ‘weight‘;

这种情况出现的原因之一是创建网络的语句没有放进train函数里 比如主文件中有train&#xff08;&#xff09;&#xff0c;test&#xff08;&#xff09;&#xff0c;eval&#xff08;&#xff09;......等各个函数&#xff0c;但是创建网络的语句&#xff1a;netcreatenet()放…

单例在多线程中的使用

一次执行 dispatch_once: 对应的代码只执行一次 , 并且它是线程安全的, 系统会自动这个函数加锁,保存同一时间只有一个线程去执行任务, 实现真正意义的一次性执行 什么时候需要用到一次性执行: 单例 单例: 就是在程序运行期间,只有一个实例化对象 ---- 举例:音乐播放器的App…

找到一个或多个多重定义的符号_初中数学之相反数,总结规律,学会多重符号的化简...

今天继续和大家一起来学习初中数学&#xff0c;初一的相关知识&#xff0c;在前面已经介绍了正数和负数&#xff0c;对于有理数也有了清楚的认识&#xff0c;今天我们来学习相反数&#xff0c;相反数的概念和表示是中考命题的热点之一&#xff0c;经常结合其他知识点一起考察&a…

分类分布(categorical分布)

解释&#xff1a; 假设X有3种状态&#xff0c;分别为x_1,x_2,x_3&#xff0c;这三种状态的概率分别为0.1,0.7,0.2&#xff08;分别对应θ_1,θ_2,θ_3&#xff09; 例如现在要求x_2这种状态的概率&#xff0c;则x_10,x_21,x_30 代入公式&#xff1a; θ_1^x_1θ_1^01; θ_…

SQL Server XML转Table

前言   在SQL Server中有时候我们需要传人一个Table过去&#xff0c;然后可以在存储过程中批量更新&#xff0c;批量的获取相应数据。 但存储过程的参数是固定&#xff0c;所以这里我们可以变通的传人xml类型的参数&#xff0c;然后在存储过程中直接将其转换成我们需要的Tabl…

python处理报错_python3报错及解决方案/须注意的细节(持续更新)

问题&#xff1a;编码的问题导致。在pymysql.connect()创建连接时&#xff0c;参数charset"utf8",而非"utf-8".2、latin-1 codec cant encodecharacters编码的问题导致。数据库的编码和数据源的编码不一致&#xff0c;并且包含了不能处理的字符。出现这种报…

【人工智能】人工智能时代的道路选择 | 焦点评论

‍‍‍来源&#xff1a;产业智能官对话嘉宾朱松纯&#xff08;Song-Chun Zhu&#xff09;教授马尔奖、赫尔姆霍茨奖获得者、UCLA教授、IEEE Fellow、暗物智能科技创始人沈向洋&#xff08;Harry Shum&#xff09;博士微软全球执行副总裁、美国国家工程院外籍院士、英国皇家工程…

error: reference to non-static member function must be called sort(nums.begin(),nums.end(),cmp1)

leetcode179题中编译出现则个问题 出错的代码&#xff1a; class Solution { public:bool cmp1(const int& a, const int& b){string s1to_string(a);string s2to_string(b);string ans1s1.append(s2);string ans2s2.append(s1);return ans1>ans2;}string largest…

Java中间件

传统的HTML已经满足不了如今web系统的诸多的功能需求&#xff0c;建立一个交互式的Web&#xff0c;便诞生了各种Web开发语言&#xff0c;如ASP&#xff0c;JSP&#xff0c;PHP等&#xff0c;这些语言与传统的语言有着密切的联系&#xff0c;如JSP基于Java语言。 JSP是在普通的…

怎么把php查询到的值显示到下拉框中_RazorSQL for Mac(数据库工具查询) v8.5.0

RazorSQL Mac是一款专门为mac用户推出的数据库管理软件&#xff0c;允许您从一个数据库工具查询&#xff0c;更新&#xff0c;导航和管理所有主要数据库&#xff0c;RazorSQL Mac功能强大还支持SQL的编辑、数据库管理工具,支持多种数据库&#xff01;razorsql mac版使用方法Raz…

5分钟,看尽芯片和摩尔定律“你追我赶”的抗衡50年

来源&#xff1a;大数据文摘“摩尔定律过去是每5年增长10倍&#xff0c;每10年增长100倍。而如今&#xff0c;摩尔定律每年只能增长几个百分点&#xff0c;每10年可能只有2倍。因此&#xff0c;摩尔定律结束了。”今年一月份&#xff0c;英伟达(Nvidia)CEO黄仁勋在CES 2019展会…