博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++经典面试题汇总
阅读量:4640 次
发布时间:2019-06-09

本文共 1081 字,大约阅读时间需要 3 分钟。

1. 下面代码输出什么?为什么?(初始化列表)

#include
using namespace std;class Test{ int m_i; int m_j;public: Test(int v): m_j(v), m_i(m_j) { } int getI() { return m_i; } int getJ() { return m_j; }};int main(){ Test t1(1); Test t2(2); cout << t1.getI() << " " << t1.getJ() << endl; cout << t2.getI() << " " << t2.getJ() << endl; return 0;}

① 答案:

随机数 1

随机数 2

② 核心提示:

(1)成员变量的初始化顺序与声明顺序有关,与初始化列别顺序无关

 

2. 下面程序输出什么?为什么?(多态)

#include 
using namespace std;class Base{public: virtual void func() { cout << "Base::func" << endl; }};class Child : public Base{public: void func() { cout << "Child::func" << endl; }};int main(){ Base* pb = new Base(); pb->func(); Child* pc = (Child*)pb; pc->func(); delete pc; pb = new Child(); pb->func(); pc = (Child*)pb; pc->func(); return 0;}

① 答案:

Base::funcBase::funcChild::funcChild::func

② 核心提示:

(1)多态:根据实际的对象类型决定函数调用语句的具体调用目标。

 

转载于:https://www.cnblogs.com/wulei0630/p/9783632.html

你可能感兴趣的文章
异常体系
查看>>
String.format(转)
查看>>
解决 CS0006 未能找到元数据文件
查看>>
HDU 5131.Song Jiang's rank list (2014ACM/ICPC亚洲区广州站-重现赛)
查看>>
mysql搭建主从数据库
查看>>
新的一年,新的开始
查看>>
python模块struct
查看>>
图像的灰度级和动态范围(转)
查看>>
C# MODBUS协议 上位机(转)
查看>>
CSS box-shadow 属性
查看>>
vue:图片切换动态显示
查看>>
备忘录
查看>>
软件工程个人作业02
查看>>
pip install 问题
查看>>
vue-router导航守卫,限制页面访问权限
查看>>
2019 Multi-University Training Contest 1 - 1012 - NTT
查看>>
浏览器调试淘宝首页看到有趣的招聘信息
查看>>
ASP.NET Identity “角色-权限”管理 4
查看>>
[转][译]ASP.NET MVC 4 移动特性
查看>>
SOC CPU
查看>>