开发者社区 问答 正文

为什么VPoint2d会自动合成构造和析构函数,而Point2d不会?

为什么VPoint2d会自动合成构造和析构函数,而Point2d不会?

展开
收起
花开富贵111 2024-06-19 14:22:48 43 分享 版权
1 条回答
写回答
取消 提交回答
  • VPoint2d会自动合成构造和析构函数是因为它声明了virtual析构函数。在C++中,当类中包含虚函数(包括虚析构函数)时,编译器会自动为该类合成虚函数表(vtable)和虚函数表指针(vptr),并可能合成构造函数和析构函数以确保vptr的正确初始化和销毁。而Point2d没有声明任何虚函数,因此不需要合成这些函数。

    2024-06-19 15:07:13
    赞同 展开评论
问答地址: