`
grantren
  • 浏览: 77497 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

C++ Questions

阅读更多

1.分析以下代码的执行结果

  1. #define macro1(a)    #a   
  2. #define macro2(a,b)  a##b   
  3.   
  4. int x = 3;   
  5. int y = 4;   
  6. int xy = 10;   
  7. cout << macro1(xy) << endl;   
  8. cout << macro2(x,y) << endl;   
  9.   

 

2.下面的代中包含一些错误,请找出改正并重写这个类.

  1. class Complex {   
  2. public:   
  3.     Complex(double real, double imaginary = 0):_real(real), _imaginary(imaginary) {   
  4.     }   
  5.        
  6.     void operator+(Complex other) {   
  7.         _real = _real + other._real;   
  8.         _imaginary = _imaginary + other._imaginary;   
  9.     }   
  10.        
  11.     void operator<<(ostream os) {   
  12.         os << "(" << _real << "," << _imaginary << ")";   
  13.     }   
  14.   
  15.     Complex operator++() {   
  16.         ++ _real;   
  17.         return *this;   
  18.     }   
  19.        
  20.     Complex operator++(int) {   
  21.         Complex temp = *this;   
  22.         ++ _real;   
  23.         return temp;   
  24.     }   
  25.        
  26.     private:   
  27.         double _real, _imaginary;   
  28. };  

3.指出以下代码中的错误

  1. std::vector<int> vec;   
  2. //...   
  3. const std::vector<int>::iterator iter = vec.begin();   
  4. *iter = 10;   
  5. ++iter;   
  6.   
  7. std::vector<int>::const_iterator cIter = vec.begin();   
  8. *cIter = 10;   
  9. ++cIter;  

 4 设计一个类,使这个类无法被其他类继承.

 5 找出以下代码中的错误.

  1. class B {   
  2. public:   
  3.  virtual ~B();   
  4.  void operator delete  (void*, size t) throw();   
  5.  void operator delete[](void*, size t) throw();   
  6.  void f(void*, size_tthrow();   
  7. };   
  8.   
  9. class D : public B {   
  10. public:   
  11.  void operator delete  (void*) throw();   
  12.  void operator delete[](void*) throw();   
  13. };   
  14.   
  15. //...   
  16.   
  17. typedef void (B::*PMF)(void*, size_t);   
  18. PMF p1 = &B::f;   
  19. PMF p2 = &B::operator delete;   

6.请写出以下代码的执行结果并说明为什么.

  1. #include<iostream></iostream>   
  2.  using namespace std;   
  3.   
  4.  class B {   
  5.  public:   
  6.   int f(int i) { cout << "f(int): "return i+1; }   
  7.   // ...   
  8.  };   
  9.   
  10.  class D : public B {   
  11.  public:   
  12.   double f(double d) { cout << "f(double): "return d+1.3; }   
  13.   // ...   
  14.  };   
  15.   
  16.  int main()   
  17.  {   
  18.   D* pd = new D;   
  19.   
  20.   cout << pd->f(2) << '\n';   
  21.   cout << pd->f(2.3) << '\n';   
  22.  }   


7. 在C++中, 用户可以直接调用构造函数和析构函数吗? 为什么?

8. 请改正下列代码

  1. #include <iostream></iostream>   
  2.  using namespace std;   
  3.   
  4.  template <class T>   
  5.  class Father {   
  6.   protected:   
  7.    T value;   
  8.  };   
  9.     
  10.  template <class T>   
  11.  class Son : public Father<t></t>   
  12.  {   
  13.   public:   
  14.    Son(T v) {value = v; cout << value;} #这一行不能通过编译,请改正   
  15.  };   
  16.     
  17.  int main() {   
  18.    Son<int> a(343);   
  19.    return 0;   
  20.  }   
  21.   


 9. 为何空类的大小不是零?

 

10. 请写出以下代码的执行结果并说明为什么.

  1. #include  <iostream></iostream>   
  2. class A {       
  3. public:        
  4.   void foo(){std::cout << "demo" << std::endl;}   
  5. };       
  6.       
  7. int main(void) {       
  8.   static_cast(0)->foo();       
  9.   return 0;       
  10. }      

 

11. 一个类中可以存在多于一个的拷贝构造函数吗?

分享到:
评论
4 楼 losteven 2007-03-22  
2,
operator+应该返回本对象的引用,支持多次加
operator<<(ostream& os) os是引用

3,*cIter = 10;    ++cIter不能变

4,声明一个私有的默认构造函数

5,不清楚,似乎重载错了吧

6,3 3.6

8, class Son : public Father<T>?? 是这样吗?

好久不看c++书,又快差不多忘了,惭愧惭愧
3 楼 xjx922 2007-02-28  
1.
xy
34

#是直接替换成#后字符串,##是字符串(宏)连接吧


刚看到还是吓了一跳 , 很少这么用, 以前只有点印象.
2 楼 wunder 2007-02-18  

看到第一个就莫名了...   
后面的#代表什么?能讲讲吗

我是c++初学者,这个不错
1 楼 gxm2052 2007-01-17  
xy
34

相关推荐

    C++ interview questions

    C++ interview questions

    C/C++ interview questions

    ### C/C++ 面试问题解析 #### 容器类(Container Class) **定义:** 容器类是一种用于在内存或外部存储中保存对象的类。这类类充当了一个通用的持有者,它拥有预定义的行为和一个众所周知的接口。容器类的作用之...

    C++ interview questions and answers

    根据提供的文件信息,本文将对其中涉及的C++面试题目进行详细解析,并提供相应的答案,旨在帮助准备参加C++职位面试的求职者更好地理解和掌握相关的技术要点。 ### 1. C++基础知识 #### 1.1 什么是C++? C++是一种...

    C++_Interview_Questions

    C++面试问题涵盖了许多核心概念,这里将对其中的关键知识点进行详细解释: 1. **对象(Object)**:在C++中,对象是类的实例,它包含数据(成员变量)和行为(成员函数)。对象是面向对象编程的基础。 2. **多态性...

    A Collection of Dynamic Programming Interview Questions Solved in C++

    在给出的文件“Dynamic Programming Interview Questions Solved in C++”中,作者Antonio Gulli通过一系列典型问题,深入解析了动态规划在C++中的应用,下面将详细介绍这些知识点。 1. 斐波那契数列(Fibonacci ...

    Cracking The Coding Interview 5th Ed (高清版上卷)

    For the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile,...

    Cracking The Coding Interview 5th Ed (高清版下卷)

    For the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile,...

    Practical C++ Programming C++编程实践

    The C++ Preprocessor define Statement Conditional Compilation include Files Parameterized Macros Advanced Features Summary Programming Exercises Answers to Chapter Questions 11. Bit Operations Bit ...

    Starting out with C++

    《Starting out with C++》是一本专为C++初学者设计的教材,旨在帮助读者从零开始学习这门强大的编程语言。这本书详细介绍了C++的基础概念、语法和编程技巧,涵盖了从基本的数据类型和控制结构到面向对象编程的深度...

    C and C++ FAQ Frequently Asked Questions 整理

    "C and C++ FAQ Frequently Asked Questions 整理"是一个集合了常见问题和解答的资源,旨在帮助开发者解决他们在学习和实践中遇到的问题。这篇内容丰富的文章将深入探讨C和C++的一些关键知识点,涵盖语法、内存管理...

    Ivor Horton’s Beginning Visual C++ 2010 英文版 PDF 超清晰版

    Join our Programmer to Programmer forums to ask and answer programming questions about this book, join discussions on the hottest topics in the industry, and connect with fellow programmers from ...

    C++ Strategies.and.Tactics

    《C++ Strategies and Tactics》是一本深入探讨C++编程策略和技术的书籍,旨在帮助高级程序员提升他们的编程效率和代码质量。书中的内容涵盖了C++语言的各个方面,包括但不限于设计模式、内存管理、模板元编程、异常...

    A.Collection.of.Bit.Programming.Interview.Questions.solved.in.C++

    Bits is the second of a series of 25 Chapters devoted to algorithms, problem solving, and C++ programming. This book is about low level bit programming Table of Contents Chapter 1. Given an unsigned ...

    c++faq ,讨论了关于c++的一些基本问题。英文。

    C++FAQ,全称为“C++ Frequently Asked Questions”,是一份详尽的在线资源,旨在解答C++编程过程中遇到的各种常见问题。这份文档通常由一系列问题和答案组成,涵盖了C++语言的基础、进阶特性和常见陷阱。对于初学者...

    c++官方网站标准参考资料

    How To: Ask Questions The Smart Way ), Forum( 说明:forum部分由于内容太多,体积太大(包括总体积27M,forum部分就占9.5M),而且仅仅是论坛中的讨论而已(需要这些不如上csdn看), 所以把它给精简掉了. ) 这是很...

    A Collection of Bit Programming Interview Questions solved in C++

    本文介绍了一系列在C++中解决的位编程面试问题,涵盖了设计模式、行为模式和结构模式等多方面内容,适用于那些希望提高算法、问题解决和C++编程能力的人士。 首先,设计模式是软件开发过程中解决常见问题的逻辑模型...

    C++ 21days

    Syntax examples are clearly marked for handy reference. &lt;br&gt;To help you become more proficient, each lesson ends with a set of common questions and answers, exercises, and a quiz. You can check ...

    C++书籍经典系列

    https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list 包含C++ Primer ,A Tour of C++ ,C++ Templates: The Complete Guide ,Modern C++ Design 等

    C++ Interview Questions

    根据提供的文件信息,我们可以整理出一系列关于C++的重要知识点,主要围绕构造函数、析构函数以及复制构造函数等核心概念展开。以下是对这些知识点的详细解释: ### 构造函数与析构函数 #### 虚拟构造函数 **问题*...

Global site tag (gtag.js) - Google Analytics