腾讯后台开发笔试的一道选择题

我记得有一道题是类似

class A
{
public:
    virtual void foo() {};
    void bar() {};
    int b;
    static int k;
};
int A::k = 66;
int main()
{
    A* p = (A*)malloc(sizeof(A));
    p->foo();
    p->k=66;
    //....

}

到底是哪个错了呢?怎么感觉都没问题啊?

#笔试题目##腾讯#
全部评论
虚表指针没有初始化,无法获取类型信息和对应虚函数地址
点赞 回复 分享
发布于 2018-04-05 20:44
跪了……
点赞 回复 分享
发布于 2018-04-05 21:47
注意这里是malloc而不是new,malloc仅仅是申请内存,然后做一个指针类型的强制转换 没有调用构造函数,对象是不存在的,和具体对象有关的成员都不能访问
点赞 回复 分享
发布于 2018-04-05 20:22
你们开发岗有编程题吗?
点赞 回复 分享
发布于 2018-04-05 20:18

相关推荐

雪飒:我也遇见过,我反问他有考虑来华为od吗?
点赞 评论 收藏
分享
04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
昨天 17:01
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务