gpt4 book ai didi

c++ - 不同文件中具有相同名称的不同类版本

转载 作者:行者123 更新时间:2023-11-30 02:07:34 25 4
gpt4 key购买 nike

我在两个不同的文件(A.cpp、A.h、B.cpp、B.h)中有同一个类的两个版本,在所有文件中该类具有相同的名称但内部实现不同。

我的想法是通过在#include 处更改 .h 文件的名称来从一个版本切换到另一个版本,因此我不必更改代码中的任何其他内容(两个版本的方法具有相同的签名和相同的属性)

A.h 和 B.h 永远不会同时包含在内。

问题是不管我用什么include文件总是A版本被执行。我知道当我包含 B.h 时至少它被编译了(通过放置一些代码错误,它们在编译时显示)

这能做到吗?或者这违反了 C++ 的某些规则?我认为这不应该违反一个定义规则,因为我没有同时使用 A.h 和 B.h。

最佳答案

解决方案是不链接旧文件到最终的可执行文件。这样只有新的实现可用。

关于c++ - 不同文件中具有相同名称的不同类版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7674527/

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