首页 > 其他分享 >类的虚函数测试

类的虚函数测试

时间:2023-05-04 20:23:42浏览次数:33  
标签:函数 fn1 der cout base 测试 void fn2

#include<iostream>
using namespace std;
class BaseClass
{
public:
void fn2()
{
cout << "我是base的fn2" << endl;
}
void fn1()
{
cout << "我是base的fn1" << endl;
}
};
class DerivedClass :public BaseClass
{
public:
void fn2()
{
cout << "我是der 的fn2" << endl;
}
void fn1()
{
cout << "我是der 的fn1" << endl;
}
};
int main()
{
DerivedClass D;
DerivedClass* der = &D;
BaseClass* base = &D;
der->fn1();
der->fn2();
base->fn1();
base->fn2();
}

当基类所使用的函数为非虚函数的输出为:

我是der 的fn1
我是der 的fn2
我是base的fn1
我是base的fn2

#include<iostream>
using namespace std;
class BaseClass
{
public:
void fn2()
{
cout << "我是base的fn2" << endl;
}
virtual void fn1()
{
cout << "我是base的fn1" << endl;
}
};
class DerivedClass :public BaseClass
{
public:
void fn2()
{
cout << "我是der 的fn2" << endl;
}
void fn1()
{
cout << "我是der 的fn1" << endl;
}
};
int main()
{
DerivedClass D;
DerivedClass* der = &D;
BaseClass* base = &D;
der->fn1();
der->fn2();
base->fn1();
base->fn2();
}

当基类所使用的函数为虚函数的输出为:

我是der 的fn1
我是der 的fn2
我是der 的fn1
我是base的fn2

标签:函数,fn1,der,cout,base,测试,void,fn2
From: https://www.cnblogs.com/pinganxile/p/17372389.html

相关文章

  • Vue3 h函数渲染组件
    1、渲染ElSelect组件constmodulleFilters=ref([{label:1,value:2},{label:2,value:3},]);constsearch=ref('');consttableColumn=[{prop:'module',label:'模块',headerRender:()=>h(......
  • DAX:概述EARLIEST和EARLIER函数
    EARLIER函数用于访问外层行上下文,即使用外层行上下文,而不是最内层的行上下文检索列的值。EARLIER(<column>,<number>)EARLIEST(<column>)注意:EARLIER函数的第二个参数是可选的,默认值是1,表示要跳过的层数,可以向外跳过2层或多层行上下文。EARLIEST函数直接访问最外层的行上......
  • 生成函数学习笔记
    概念序列的母函数(生成函数)是一种形式幂级数。其每一项的系数可以提供关于这个序列的信息,使用母函数解决问题。如:序列\(a\)的生成函数为\(G(x)=\sum\limits_{i=1}^{n}a_if_i(x)\)。其中\(f_i(x)\)是无实际意义的,具体取值看题目要求。但有一些一般取值。一般生成函数令\(f......
  • ios app真机测试到上架App Store详细教程-必看
    >​转载:https://blog.csdn.net/p312011150/article/details/89374401iosapp真机测试到上架AppStore详细教程-必看Appuploader常见问题![在这里插入图片描述](https://img-blog.csdnimg.cn/29b86096fa504cd082572f1f8e6b2b53.jpeg#pic_center)转存失败重新上传取消上架基本需......
  • C语言函数指针数组,GCC编译问题
    使用C语言函数指针数组实现简单的计算器,代码如下#include<stdio.h>#include<stdlib.h>doubleadd(doublea,doubleb){return(a+b);};doublesub(doublea,doubleb){return(a-b);};doublemul(doublea,doubleb){return(a*b);};doubl......
  • 软件测试
    一、什么是软件测试?测什么?----测软件app端测试web端测试怎么测?----从哪些方面去考虑(测试维度)?需求测试a、需求的来源:产品规格说明书、客户(用户/软件项目的提出者)的诉求、产生的一些BUG(BUG转需求)、当下的政治环境,各种社会环境的影响b、需求的提炼者:项目组中的产品经理,会把需......
  • python 闭包、偏函数、数据锁定
    闭包(Closure)是指在一个函数内部定义另外一个函数,并且这个内部函数可以访问外部函数中的变量。通常情况下,当外部函数执行完毕后,局部变量会被销毁,但是闭包可以使得外部函数执行完毕后,其内部函数仍然可以访问外部函数的局部变量。比如下面这个例子:defouter(x):definner(y):......
  • C函数
    C函数关键字return运算符---*、&如何把指针变量用作函数参数函数类型递归return的使用示例代码:/***@Author:Lucifer*@Date:5/3/2023,4:07:12PM*@LastEditors:Lucifer*@LastEditTime:5/3/2023,4:07:12PM*Description:两数比较大小,返回更小......
  • 移动端性能测试工具solox
    之前也接触过一些手机端性能测试工具,比如adb命令,perfdog,solopi,个人感觉perfdog比较好用,但是不幸的是,这个要收费了,于是另觅途径,发现python的第三方库solox也挺好用的1.安装pipinstallsolox2.启动服务python-m solox这里可以指定本机的端口,我直接用的默认,会打开一个网页3......
  • springboot单元测试中添加了@Autowired任然报错nullpoint(已解决)
     使用了autowired还是报错空指针异常说明就是包没有导入,springboot导包的操作在于启动application类,所以问题就在于没有单元测试时没有启动主类,解决方法:@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes=SaTokenDemoApplication.class)加上如上的注解,@runwi......