笔试问题 一

1、虚析构函数的必要性?

 

2、什么是内联函数?

 

3、什么是内存对齐?

 

4、pass by value、pass by pointor、pass by reference

 

5、写出输出:

class A
{
public:
 A()
 {
  printf("1 ");
 }

 ~A()
 {
  printf("2 ");
 }

 void print_function()
 {
  printf("3 ");
 }
};


class B:public A
{
public:
 B()
 {
  printf("4 ");
 }

 virtual ~B()
 {
  printf("5 ");
 }

 virtual void print_function()
 {
  printf("6 ");
 }
};


class C:public B
{
public:
 C()
 {
  printf("7 ");
 }

 virtual ~C()
 {
  printf("8 ");
 }

 virtual void print_function()
 {
  printf("9 ");
 }
};

 


int _tmain(int argc, _TCHAR* argv[])
{
 A *a = new B();

 printf("\n");

 a->print_function();

 printf("\n");

 B *b = new C();

 printf("\n");

 b->print_function();

 printf("\n");

 delete b;

 printf("\n");


 delete a;


 return 0;
}

 

 

 

6、代码实现:输出1000内的质数;

 

7、利用 “>> <<  & | ~ ”代码优化:

 

int a = b * 4;

 

int a = b * 72;

 

int a = b / 8;

 

int a = b % 1;

 

int a = b % 16;

 

int a = ( b * 3) / 8;

 

int a = ( b + c ) /2;

 

int a = ( b % 8 ) * 4 ;

 

 

 

 

你可能感兴趣的:(笔试问题 一)