两个人做人爱视频免费,97久久精品人人搡人妻人人玩,欧洲精品码一区二区三区,999zyz玖玖资源站永久

我要投稿 投訴建議

C/C++面試試題

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

C/C++面試試題

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

C/C++面試試題

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

  3、何時會用到多態?如何實現多態?

  4、怎樣實現虛函數?

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

  6、MFC和SDK是什么關系?

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

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

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

  9、 結構與聯合有和區別?

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

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

  10、 下面關于“聯合”的題目的輸出?

  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{ /*定義一個聯合*/

  int i;

  struct{ /*在聯合中定義一個結構*/

  char first;

  char second;

  }half;

  }number;

  number、i=0×4241; /*聯合成員賦值*/

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

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

  number、half、second=’b';

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

  getch();

  }

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

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

  11、 已知strcpy的函數原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不調用C++/C 的字符串庫函數,請編寫函數 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); // 通用構造函數

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

  ~ String(); // 析構函數

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

  private:

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

  };

  嘗試寫出類的成員函數實現。

  答案:

  String::String(const char *str)

  {

  if ( str == NULL ) //strlen在參數為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; //刪除原來的數據,新開一塊內存

  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”的區別?

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

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

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

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

樂事面試題11-05

硅谷面試題精選02-03

金山的面試題目04-13

SOA專業面試試題02-07

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

面試試題設計原則08-18

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

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

主站蜘蛛池模板: 石泉县| 慈溪市| 密云县| 西青区| 鹤峰县| 麟游县| 宜良县| 台中市| 定远县| 城口县| 那曲县| 历史| 贺州市| 偏关县| 鄂托克旗| 泗水县| 新蔡县| 沙湾县| 临洮县| 新巴尔虎左旗| 宕昌县| 武平县| 合江县| 聂拉木县| 夏河县| 和田县| 迭部县| 鹤峰县| 乌兰浩特市| 崇阳县| 全州县| 莱芜市| 孟连| 察隅县| 永川市| 无棣县| 磐安县| 望都县| 乌兰县| 康保县| 东阿县|