當前位置:高考升學網 > 招聘筆試題 > 正文

艾默生軟件工程師筆試題和面試題答案

更新:2023-09-18 12:47:33 高考升學網

1.考察虛繼承內存體系

  class A

  {

  public:

  A() { cout<<"Construct A"<

  ~A() { cout<<"Destruct A"<

  void speak() { cout<<"A is speaking!"<

  };

  class B:public virtual A

  {

  public:

  B() { cout<<"Construct B"<

  ~B() { cout<<"Destruct B"<

  };

  class C:public virtual A

  {

  public:

  C() { cout<<"Constuct C"<

  ~C() { cout<<"Destruct C"<

  };

  class D:public B, public C

  {

  public:

  D(){ cout<<"Constsruct D"<

  ~D(){ cout<<"Destruct D"<

  };

  int main()

  {

  D p = new D();

  p->speak();

  delete p;

  }

  輸出:

  Construct A

  Construct B

  Constuct C

  Constsruct D

  A is speaking!

  Destruct D

  Destruct C

  Destruct B

  Destruct A

2.考察非虛析構函數這道題

  class Parent

  {

  public:

  Parent(){cout<<"Parent construct"<

  ~Parent(){ cout<<"Parent destruct "<

  };

  class Child : public Parent

  {

  public:

  Child() { cout<<"Child construct "<

  ~Child() {cout<<"child destruct"<

  };

  int main()

  {

  Parent p;

  Child c = new Child();

  p = c;

  delete p; // 因為析構函數是非 virtual 的,故析構的時候按照指針的類型進行析構

  }

  輸出:

  Parent construct

  Child Construct

  Parent destruct

3.考察初始化列表的寫法

  class A

  {

  public:

  A(int x, int y, int z):a=x,b=y,c=z {} (1)

  A(int x, int y, int z):a(x),b(y),c(z){} (2)

  private:

  int a;

  int b;

  int c;

  };

  int main()

  {

  A a(1,2,3);

  }

第 1 種寫法是錯誤的,第 2 種正確。

4.考察拷貝構造函數和賦值的區別。

  class A

  {

  public:

  A() { cout<<"Construct A by default"<

  A(const A& a) { cout<<"consttuct A by copy"<

  A& operator =(const A& a) { cout<<"cosnt A by operator ="<

  ~A() { cout<<"Destruct A"<

  };

  int main()

  {

  A a;

  A b=a; //調用拷貝構造函數

  A c(a); //調用拷貝構造

  A d;

  d=a; //賦值

  }

  輸出:

  Construct A by default //構造對象 a

  consttuct A by copy //拷貝構造 b

  consttuct A by copy //拷貝構造 c

  Construct A by default //構造 a

  cosnt A by operator = //賦值 d=a

  Destruct A

  Destruct A

  Destruct A

  Destruct A

5.考察函數指針

  voidfunc(char a)

  {

  cout<

  }

  int main()

  {

  void (fp)(char); //填空處

  fp = func; //函數名func相當于函數的地址,將其賦給函數指針fp

  char s="helloc";

  fp(s);

  }

最新圖文

2020年河北新聞網兩學一做

時間:2023-09-18 07:0:24

2020年河北新聞網兩學一做

時間:2023-09-15 11:0:59

兩學一做學習教育知

時間:2023-09-21 06:0:30

2020年開展兩學一做學習教

時間:2023-09-19 21:0:30
9999久久久国产精品,日韩在线一区二区三区欧美,日韩精品综合在线人妻,免费AAAAAA毛片看
一区二区三区在线观看视频 | 精品中文字幕一区在线 | 日本卡一卡二新区在线看 | 亚洲日韩欧美精品国产 | 婷婷激情五月天综合 | 亚洲一区二区中文字幕无 |