|
1.
class A
{
int a;
short b;
int c;
char d;
};
class B
{
double a;
short b;
int c;
char d;
};
求sizeof(A), sizeof(B)分别是多少,考察对内存对齐的理解。
2.
引用可以是void类型吗?
答:不可以。如下程序会出错。
#include <stdio.h>
int main()
{
int b;
void &a = b;
return 0;
}
3.下面这段代码会打印出什么?
#include <stdio.h>
class A
{
public:
A()
{
printf("A\n");
}
/*virtual */~A()
{
printf("de A\n");
}
};
class B
{
public:
B()
{
printf("B\n");
}
~B()
{
printf("de B\n");
}
};
class C : public A, public B
{
public:
C()
{
printf("C\n");
}
~C()
{
printf("de C\n");
}
};
int main()
{
A *a = new C();
delete a;
return 0;
}
4.下面这段代码运行时会出现什么问题?(阴险)
#include <stdio.h>
class A
{
public:
void f()
{
printf("A\n");
}
};
class B : public A
{
public:
virtual void f()
{
printf("B\n");
}
};
int main()
{
A* a = new B;
a->f();
delete a;
return 0;
}
5.内联可能会导致二进制可执行文件尺寸变大吗?是的
6.全局对象在main退出后,程序结束前析构吗?是的
7.友元能访问类中的所有成员吗?是的
8.表建立索引时,update,delete,insert是要维护索引的吗?是的 |
+10
|