gpt4 book ai didi

c++ - 为什么要删除基类的默认复制和移动构造函数和赋值?

转载 作者:太空狗 更新时间:2023-10-29 20:26:07 25 4
gpt4 key购买 nike

为什么要删除基类的默认复制和移动构造函数和赋值?

这是来自 Stroustrup 的书(第 4 版 c++)。

通常基类是抽象的,所以你为什么要担心呢,当您甚至无法实例化它们时。

最佳答案

您要避免的情况:

 class A
{
};

class B : public A
{
};

class C : public A
{
int foo;
};
int main(int argc, char** argv)
{
A* c_ptr = new C();
A* b_ptr = new B();

*b_ptr = *c_ptr;//unless you explictly dissalow this, it can be done!
}

关于c++ - 为什么要删除基类的默认复制和移动构造函数和赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21173866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com