精品国产一级毛片大全,毛片一级在线,毛片免费观看的视频在线,午夜毛片福利

我要投稿 投訴建議

C/C++面試試題

時間:2022-09-26 13:52:58 面試試題 我要投稿
  • 相關推薦

C/C++面試試題

  1、C語言里的STRUCT與C++里的CLASS有何區(qū)別?

C/C++面試試題

  2、面向對象有哪些特性?

  3、何時會用到多態(tài)?如何實現(xiàn)多態(tài)?

  4、怎樣實現(xiàn)虛函數(shù)?

  5、子類覆蓋了基類的方分法時,子類如何調用基類的方法?

  6、MFC和SDK是什么關系?

  7、什么是HDC?什么是CWnd?

  8、如果讓你設計一個異形的按鈕,你將如何實現(xiàn)?談一下你的思路!

  談一下你做的項目用到了哪些技術,在這個項目的實現(xiàn)過程中你遇到了哪些問題,到最后你是怎么樣解決這些問題?從這個項目中你學會了什么?

  9、 結構與聯(lián)合有和區(qū)別?

  1、 結構和聯(lián)合都是由多個不同的數(shù)據類型成員組成, 但在任何同一時刻, 聯(lián)合中只存放了一個被選中的成員(所有成員共用一塊地址空間), 而結構的所有成員都存在(不同成員的存放地址不同)。

  2、 對于聯(lián)合的不同成員賦值, 將會對其它成員重寫, 原來成員的值就不存在了, 而對于結構的不同成員賦值是互不影響的。

  10、 下面關于“聯(lián)合”的題目的輸出?

  a)

  #i nclude

  union

  {

  int i;

  char x[2];

  }a;

  void main()

  {

  a、x[0] = 10;

  a、x[1] = 1;

  printf(“%d”,a、i);

  }

  答案:266 (低位低地址,高位高地址,內存占用情況是Ox010A)

  b)

  main()

  {

  union{ /*定義一個聯(lián)合*/

  int i;

  struct{ /*在聯(lián)合中定義一個結構*/

  char first;

  char second;

  }half;

  }number;

  number、i=0×4241; /*聯(lián)合成員賦值*/

  printf(“%c%c\n”, number、half、first, mumber、half、second);

  number、half、first=’a'; /*聯(lián)合中結構成員賦值*/

  number、half、second=’b';

  printf(“%x\n”, number、i);

  getch();

  }

  答案: AB (0×41對應’A',是低位;Ox42對應’B',是高位)

  6261 (number、i和number、half共用一塊地址空間)

  11、 已知strcpy的函數(shù)原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不調用C++/C 的字符串庫函數(shù),請編寫函數(shù) strcpy。

  答案:

  char *strcpy(char *strDest, const char *strSrc)

  {

  if ( strDest == NULL || strSrc == NULL)

  return NULL ;

  if ( strDest == strSrc)

  return strDest ;

  char *tempptr = strDest ;

  while( (*strDest++ = *strSrc++) != ‘\0’)

  ;

  return tempptr ;

  }

  12、 已知String類定義如下:

  class String

  {

  public:

  String(const char *str = NULL); // 通用構造函數(shù)

  String(const String &another); // 拷貝構造函數(shù)

  ~ String(); // 析構函數(shù)

  String & operater =(const String &rhs); // 賦值函數(shù)

  private:

  char *m_data; // 用于保存字符串

  };

  嘗試寫出類的成員函數(shù)實現(xiàn)。

  答案:

  String::String(const char *str)

  {

  if ( str == NULL ) //strlen在參數(shù)為NULL時會拋異常才會有這步判斷

  {

  m_data = new char[1] ;

  m_data[0] = ‘\0′ ;

  }

  else

  {

  m_data = new char[strlen(str) + 1];

  strcpy(m_data,str);

  }

  }

  String::String(const String &another)

  {

  m_data = new char[strlen(another、m_data) + 1];

  strcpy(m_data,other、m_data);

  }

  String& String::operator =(const String &rhs)

  {

  if ( this == &rhs)

  return *this ;

  delete []m_data; //刪除原來的數(shù)據,新開一塊內存

  m_data = new char[strlen(rhs、m_data) + 1];

  strcpy(m_data,rhs、m_data);

  return *this ;

  }

  String::~String()

  {

  delete []m_data ;

  }

  13、 、h頭文件中的ifndef/define/endif 的作用?

  答:防止該頭文件被重復引用。

  14、 #i nclude 與 #i nclude “file、h”的區(qū)別?

  答:前者是從Standard Library的路徑尋找和引用file、h,而后者是從當前工作路徑搜尋并引用file、h。

【C/C++面試試題】相關文章:

c++個人實習心得體會范文01-11

社工面試面試試題及答案08-04

樂事面試題11-05

硅谷面試題精選02-03

金山的面試題目04-13

SOA專業(yè)面試試題02-07

那些最經典的面試題08-20

面試試題設計原則08-18

護士面試的面試試題及參考答案07-03

德國公司經典面試題11-10