16. {
17. printf("func\n");
18. }
19. };
20. class classB : public classA
21. {
22. };
23.
24. int main(void)
25. {
26. classA oa;
27. classB ob;
28. classA * pa0 = &oa;
29. classA * pa1 = &ob;
30. classB * pb = &ob;
31.
32. oa.func(); // 1
33. ob.func(); // 2
34. pa0->func(); // 3
35. pa1->func(); // 4
36. pb->func(); // 5
37.
38. return 0;
39. }
A、func func 执行出错 执行出错 func
B、执行出错 func 执行出错 执行出错 func
C、执行出错 执行出错 执行出错 执行出错 执行出错
D、func func func func func
E、func func 执行出错 func func
F、以上选项都不对
5、在32位系统中
[cpp] view plaincopy
1. class CBase
2. {
3. public:
4. void func()
5. {
6. Print();
7. }
8. virtual void Print()
9. {
10. cout<<"CBase::Print"<
11. }
12. };
13. class CDerived : public CBase
14. {
15. public:
16. virtual void Print()
17. {
18. cout<<"CDerived::Print"<
19. }
20. };
21.
22. int main(void)
23. {
24. CDerived c;
25. CBase *p = &c;
26. return 0;
27. }
请问:
sizeof(*p)的值是多少?(实际上求的就是一个成员变量的大小+一个虚表指针VPTR的大小)
A、1 B、4 C、8 D、12
p->Print(); 和 c.func();的输出分别是?
A、CBase::Print CBase::Print B、CBase::Print CDerived::Print
C、CDerived::Print CBase::Print D、CDerived::Print CDerived::Print
6、
[cpp] view plaincopy