gpt4 book ai didi

c++ - 为什么克隆方法总是返回一个指针?

转载 作者:太空狗 更新时间:2023-10-29 23:50:43 27 4
gpt4 key购买 nike

我正在阅读一些克隆 C++ 实现,它似乎总是定义为

Clonable* clone();

我想知道为什么总是返回一个指针;我可以定义一个克隆来返回一个 Clonable 对象吗?

最佳答案

can I define a clone to return a Clonable object?

当然。哎呀,你可以制作一个 clone() 方法来返回你想要的任何东西。我的猜测是 Clonable 类旨在以多态方式使用,并且 clone() 方法是 virtual。指针(或引用)是 C++ 中运行时多态性的唯一选择。如果它没有返回一个指针,你会得到 object slicing .

关于c++ - 为什么克隆方法总是返回一个指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27977154/

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