龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

程序员必看 c++笔试题汇总(1)(10)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
41. 分析一下这段程序的输出 (Autodesk) class B { public : B() { cout "defaultconstructor" } ~B() { cout "destructed" } B( int i):data(i) //B(int)worksasaconverter(int-instanceofB) { cout "co

41. 分析一下这段程序的输出 (Autodesk)

  1. class B  
  2. {  
  3. public:  
  4. B()  
  5. {  
  6. cout<<"default constructor"<
  7. }  
  8. ~B()  
  9. {  
  10. cout<<"destructed"<
  11. }  
  12. B(int i):data(i) //B(int) works as a converter ( int -> instance of B)  
  13. {  
  14. cout<<"constructed by parameter " << data <
  15. }  
  16. private:  
  17. int data;  
  18. };  
  19.  
  20.  
  21. B Play( B b)  
  22. {  
  23. return b ;  
  24. }  
  25.  
  26. (1) results:  
  27. int main(int argc, char* argv[]) constructed by parameter 5  
  28. { destructed B(5)形参析构  
  29. B t1 = Play(5); B t2 = Play(t1);   destructed t1形参析构  
  30. return 0; destructed t2 注意顺序!  
  31. } destructed t1  
  32.  
  33. (2) results:  
  34. int main(int argc, char* argv[]) constructed by parameter 5  
  35. { destructed B(5)形参析构  
  36. B t1 = Play(5); B t2 = Play(10);   constructed by parameter 10  
  37. return 0; destructed B(10)形参析构  
  38. } destructed t2 注意顺序!  
  39.  
  40. destructed t1  

42. 写一个函数找出一个整数数组中,第二大的数 (microsoft)

答案:

  1. const int MINNUMBER = -32767 ;  
  2. int find_sec_max( int data[] , int count)  
  3. {  
  4. int maxnumber = data[0] ;  
  5. int sec_max = MINNUMBER ;  
  6. for ( int i = 1 ; i < count ; i++)  
  7. {  
  8. if ( data[i] > maxnumber )  
  9. {  
  10. sec_max = maxnumber ;  
  11. maxnumber = data[i] ;  
  12. }  
  13. else 
  14. {  
  15. if ( data[i] > sec_max )  
  16. sec_max = data[i] ;  
  17. }  
  18. }  
  19. return sec_max ;  
  20. }  

43. 写一个在一个字符串(n)中寻找一个子串(m)第一个位置的函数。

KMP算法效率最好,时间复杂度是O(n+m)。

44. 多重继承的内存分配问题:比如有class A : public class B, public class C {}那么A的内存结构大致是怎么样的?

这个是compiler-dependent的, 不同的实现其细节可能不同。

如果不考虑有虚函数、虚继承的话就相当简单;否则的话,相当复杂。

可以参考《深入探索C++对象模型》,或者:http://blog.csdn.net/wfwd/archive/2006/05/30/763797.aspx


精彩图集

赞助商链接