sg笔试记录

来源:互联网 发布:云计算平台 开源 编辑:程序博客网 时间:2024/04/29 15:11

今天被某gou的笔试第二题的迷之题意坑了,不过目前质量最高的试卷应该就是它了,有好多题目,理解一点,但是没有理解透彻,记录一下。

1.

<span style="font-size:18px;">class AA{public:union data{struct tt{int x, y;}x2;int x, y, z;}x1;};int main(){AA a;cout<<"x2::y = "<<&a.x1.x2.y<<endl;cout<<"x2::x = "<<&a.x1.x2.x<<endl;cout<<"x1::x = "<<&a.x1.x<<endl;cout<<"x1::y = "<<&a.x1.y<<endl;return 0;}</span>

可以发现他们三者的指针是一样的,所以必然这三者的值是一样的。


2. 

<span style="font-size:18px;">class A{public:void aa() {};};class B{public:void bb();virtual void bbb(){};};class C: public B, public A{public:void cc(){}};</span>
sizeof(A) = 1, sizeof(B) = 4, sizeof(C) = 4。

C中有A的,但是A不占内存。


3. 

<span style="font-size:18px;">class A{public:static void aa() {};virtual void aaa(){};};class B : public A{public:void bb();void bbb(){};};int main(){B *c = NULL;;return 0;}</span>
此时虚表指针也置为NULL,所以无法调用虚函数,另外其余的函数都是类的函数,不是对象的函数,可以调用。




0 0