1.在32位操作系统gcc编译器环境下,下面程序的运行结果为()
#include <iostream>
using namespace std;
class A {
public:
int b;
char c;
virtual void print() {
cout << "this is father’s fuction! " << endl;
}
};
class B: A {
public:
virtual void print() {
cout << "this is children’s fuction! " << endl;
}
};
int main(int argc, char * argv[]) {
cout << sizeof(A) << "" << sizeof(B) << endl;
return 0;
}
- 12 12
- 8 8
- 9 9
- 12 16
答案 A
考虑一下对齐,以及虚函数表
2.写出下列程序的运行结果。
#include "stdio.h"
int sum(int a)
{
auto int c = 0;
static int b = 3;
c += 1;
b += 2;
return (a + b + c);
}
int main()
{
int i;
int a = 2;
for (i = 0; i < 5; i++)
{
printf("%d,", sum(a));
}
}
- 6,8,10,12,14,
- 8,10,12,14,16,
- 10,12,14,16,18
- 12,14,16,18,20
答案:B
水题。。。