gpt4 book ai didi

c++ - 为什么要在 C++ 中使用虚函数?

转载 作者:可可西里 更新时间:2023-11-01 18:34:50 24 4
gpt4 key购买 nike

这不是关于它们如何工作和声明的问题,我认为这对我来说非常清楚。问题是为什么要实现这个?我想实际原因是为了简化一堆其他代码来关联和声明它们的基本类型变量,以处理来自许多其他子类的对象及其特定方法?

这可以通过模板化和类型检查来完成吗,就像我在 Objective C 中所做的那样?如果是这样,什么更有效率?我发现将对象声明为一个类并将其实例化为另一个类是令人困惑的,即使它是它的子类也是如此。

抱歉愚蠢的问题,但我还没有用 C++ 完成任何实际项目,因为我是活跃的 Objective C 开发人员(它是一种更小的语言,因此严重依赖 SDK 的功能,如 OSX、iOS)我需要有清晰的认识在两个堂兄弟的任何平行方式上。

最佳答案

是的,这可以通过模板来完成,但是调用者必须知道对象的实际类型(具体类),这会增加耦合。

使用虚函数,调用者不需要知道实际的类 - 它通过指向基类的指针进行操作,因此您可以编译一次客户端,实现者可以根据需要更改实际实现,并且只要接口(interface)不变,客户端就不必知道这一点。

关于c++ - 为什么要在 C++ 中使用虚函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5192282/

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