【笔试题】result变量的输出结果是多少?
来源:互联网 发布:java实现bt下载 编辑:程序博客网 时间:2024/05/16 17:13
#include<iostream>using namespace std;int i = 1;class MyCls{public:MyCls():m_nFor(m_nThd), m_nSec(i++) ,m_nFir(i++) ,m_nThd(i++){m_nThd = i;}void echo(){cout << "result:" << m_nFir + m_nSec + m_nThd + m_nFor << endl;}private:int m_nFir;int m_nSec;int m_nThd;int &m_nFor;};int main(){MyCls oCls;oCls.echo();return 0;}
首先要明白变量初始化的顺序是其声明的顺序,跟初始化列表中的顺序无关。
所以变量的初始化顺序为m_nFir(i++),m_nSec(i++),m_nThd(i++),&m_nFor(m_nThd);
i初始值为1,所以经过初始化列表初始化以后m_nFir=1,m_nSec=2,m_nThd=3,m_nFor为m_nThd的一个引用。
并且此时i的值为4,构造函数中执行语句m_nThd=i后,m_nThd=4,m_nFor是它的一个引用,自然值也为4。
输出结果m_nFir+m_nSec+m_nThd+m_nFor=1+2+4+4=11
0 0
- 【笔试题】result变量的输出结果是多少?
- 腾讯笔试题 如下代码,result变量的输出结果是多少
- 下面的程序代码输出的结果是多少?
- 下面程序的输出结果是多少?
- 下面程序输出结果是多少?
- java基础问题---------下面的程序代码输出的结果是多少
- ([] + {}).length的结果是多少
- sizeof('a')的结果是多少?
- 下面代码执行的结果是多少?
- 为啥输出结果是错的?求教。。
- 面试题:以下程序的输出结果是
- 以下代码的输出结果是什么?
- 计算下10000! 的阶乘的结果是多少位?
- 为什么输出结果是3
- 属性,[菜鸟问题]结果是多少?
- [阿里笔试]下面代码在64位Linux系统编译执行,输出结果是____。
- 运行结果是输出自己输入的数组,求解
- echo 1+2+"3+4+5“输出的结果是6
- 作业调度算法
- 银行家算法
- LeetCode:Remove Linked List Elements
- iOS开发实战——CollectionView点击事件与键盘隐藏结合案例
- _CRT_SECURE_NO_WARNINGS
- 【笔试题】result变量的输出结果是多少?
- C++实现动态顺序表
- C++实现单链表
- C++实现双向链表
- 深拷贝的传统写法
- 深拷贝的现代写法
- 比较分析与数组相关的sizeof和strlen
- memcpy与memmove
- 模板函数