杂C/C++代码题

来源:互联网 发布:android 引导蒙版源码 编辑:程序博客网 时间:2024/06/05 04:22
1、写出下面代码的输出
[cpp] view plaincopy
  1. #include<stdio.h>  
  2. int main(){  
  3.     char *p="abcdef";  
  4.     char str[]="123456";  
  5.      
  6.     printf("d%\n",*(p+4));  
  7.     printf("c%\n",p[4]);  
  8.     printf("c%\n",*(str+4));  
  9.     printf("c%\n",str[4]);  
  10.      
  11.     return 0;  
  12. }  

解:这道题出得十分YD,注意是d%而不是%d,所以,你懂的。答案是,一不小心,可能会跌爆眼镜!

d

c

c

c


2、ClassA是一个类,那么语句ClassA a, *b[2], c[3], &d = a;

执行时调用到ClassA的构造函数次数为:4(a调用一次,c[3]调用3次)


3、

#include <iostream>using namespace std;class A{public:    virtual void Fun(int number = 10)    {        std::cout << "A::Fun with number " << number<<endl;    }};class B: public A{public:    virtual void Fun(int number = 20)    {        std::cout << "B::Fun with number " << number<<endl;    }};int main(){    B b;    A &a = b;    a.Fun();    return 0;}
输出B::Fun with number 10      //虚函数动态绑定=>B,非A,缺省实参是编译时候确定的=>10,非20 。


0 0