对虚基类的定义一定要用到虚函数吗
1个回答
展开全部
不一定,这两个不是一个概念。
虚函数是当派生类和父类存在名字,参数和参数类型都相同的函数时用的。静态联编情况下,指针是属于哪个类的,就只能调用哪个类的函数,而和指向的对象没有关系。而虚函数就是为了实现动态联编,在运行的时候,可以根据指向的对象来运行对应的函数。
虚基类则是为了解决多重继承情况下二义性的问题,以节省内存空间。假设A为基类且存在一个成员value,B、C同时继承A类,而D又继承B和C,这样D中会出项两个value的实例。而虚基类在继承的时候声明,在派生类中只保留一个副本。
虚函数是当派生类和父类存在名字,参数和参数类型都相同的函数时用的。静态联编情况下,指针是属于哪个类的,就只能调用哪个类的函数,而和指向的对象没有关系。而虚函数就是为了实现动态联编,在运行的时候,可以根据指向的对象来运行对应的函数。
虚基类则是为了解决多重继承情况下二义性的问题,以节省内存空间。假设A为基类且存在一个成员value,B、C同时继承A类,而D又继承B和C,这样D中会出项两个value的实例。而虚基类在继承的时候声明,在派生类中只保留一个副本。
上海华然企业咨询
2024-10-23 广告
2024-10-23 广告
上海华然企业咨询有限公司专注于AI与数据合规咨询服务。我们的核心团队来自头部互联网企业、红圈律所和专业安全服务机构。凭借深刻的AI产品理解、上百个AI产品的合规咨询和算法备案经验,为客户提供专业的算法备案、AI安全评估、数据出境等合规服务,...
点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |