【本文链接】
http://www.cnblogs.com/hellogiser/p/100-interview-questions-of-cplusplus-basics-21-30.html
【题目21】
运行下面的代码,输出结果?
【代码】
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
/*
version: 1.0 author: hellogiser blog: http://www.cnblogs.com/hellogiser date: 2014/9/22 */ #include "stdafx.h" class A class B: public A int main() /* |
【分析】
虚函数动态绑定,但是缺省实参是编译时确定的,所以结果为B::Fun with number 10
【题目22】
指出下面的程序有哪些错误,并改正。
【代码】
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <iostream>
using namespace std; class A ; // ERROR A::A() } A::~A() } static void fun() // ERROR } |
【正确代码】
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
/*
version: 1.0 author: hellogiser blog: http://www.cnblogs.com/hellogiser date: 2014/9/22 */ #include "stdafx.h" class A int i ; // error ; A::A(): i() } A::~A() } void A::fun() } int main() |
【题目23】
代码结果?
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
/*
version: 1.0 author: hellogiser blog: http://www.cnblogs.com/hellogiser date: 2014/9/24 */ #include "stdafx.h" class Base class Derived : public Base int main() ; |
分析:虚函数和普通函数
基类指针指向派生类对象,虚函数调用派生类的,普通函数调用基类的。
【题目24】
下面代码运行结果?
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
/*
version: 1.0 author: hellogiser blog: http://www.cnblogs.com/hellogiser date: 2014/9/25 */ #include "stdafx.h" void test_longlong_little_endian() printf("%d %d %d\n", a, b, c); int main() |
1
2 3 4 5 6 |
void test()
{ char *p1 = "hello"; char *p2 = "world"; printf("%s %s %s\n", p1, p2); // hello world ??? } |
【题目25】