由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教1个工作面试题
相关主题
一道面试的选择题包子呼唤大牛--问关于C++Destructor的问题 (转载)
问个C++重新编译的问题C++面试问题,高人请进啊~~~
C++ Q65: recompiling (IB)为什么C++的constructor出错可以抛出异常,而destructor出错
a c++ interview questionOne C++ question
这个题目的讨论的结论是什么面经: bloomberg 电面
C++ online Test 一题C++相关的面经
发两个软件组的面试题小公司web server面经
新Qualcomm面经c++ class default functions?
相关话题的讨论汇总
话题: add话题: class话题: libraries话题: member
进入JobHunting版参与讨论
1 (共1页)
t**g
发帖数: 1164
1
You have a class that many libraries depend on. Now you need to modify the
class for one application. Which of the following changes require
recompiling all libraries before it is safe to build the application?
a. add a constructor
b. add a data member
c. change destructor into virtual
d. add an argument with default value to an existing member function
我选的是b,c
理由是它们会改变class的size
请问是对的么
谢谢!
m*******i
发帖数: 370
2
我也遇到这个题了,co-ask

function

【在 t**g 的大作中提到】
: You have a class that many libraries depend on. Now you need to modify the
: class for one application. Which of the following changes require
: recompiling all libraries before it is safe to build the application?
: a. add a constructor
: b. add a data member
: c. change destructor into virtual
: d. add an argument with default value to an existing member function
: 我选的是b,c
: 理由是它们会改变class的size
: 请问是对的么

B*****t
发帖数: 335
3
my answer is bcd require recompiling, a depends.

function

【在 t**g 的大作中提到】
: You have a class that many libraries depend on. Now you need to modify the
: class for one application. Which of the following changes require
: recompiling all libraries before it is safe to build the application?
: a. add a constructor
: b. add a data member
: c. change destructor into virtual
: d. add an argument with default value to an existing member function
: 我选的是b,c
: 理由是它们会改变class的size
: 请问是对的么

m*******i
发帖数: 370
4
弱弱的问,为啥增加data member要recompile啊?已经存在的client program肯定没有
用这个data member的啊。

【在 B*****t 的大作中提到】
: my answer is bcd require recompiling, a depends.
:
: function

B*****t
发帖数: 335
5
<>第一章讲的很明白,主要是C++没有定义二进制层面上的封装。
比如class A的大小是4byte,你又增加了4byte,如果不recompile,这增加的4byte在
你的code很可能属于其他object所拥有。如果你继续使用这个类,而这个类又会对这新
增的4byte进行写操作,很显然会破坏你原有的code。
大部分情况下runtime error!

【在 m*******i 的大作中提到】
: 弱弱的问,为啥增加data member要recompile啊?已经存在的client program肯定没有
: 用这个data member的啊。

h**6
发帖数: 4160
6
还有,分配内存的时候sizeof的结果是写死在二进制文件里的,需要重新编译改为8字
节。
1 (共1页)
进入JobHunting版参与讨论
相关主题
c++ class default functions?这个题目的讨论的结论是什么
准备去BB onsite 了,求bless (undate)C++ online Test 一题
说说我被面试到的c++题目吧发两个软件组的面试题
BB phone interview question新Qualcomm面经
一道面试的选择题包子呼唤大牛--问关于C++Destructor的问题 (转载)
问个C++重新编译的问题C++面试问题,高人请进啊~~~
C++ Q65: recompiling (IB)为什么C++的constructor出错可以抛出异常,而destructor出错
a c++ interview questionOne C++ question
相关话题的讨论汇总
话题: add话题: class话题: libraries话题: member