gpt4 book ai didi

c++ - 自动施放两个第 3 方类(class)?

转载 作者:行者123 更新时间:2023-11-30 02:12:54 26 4
gpt4 key购买 nike

我正在使用两个第 3 方库,它们都实现了自己的 2D vector 类。不幸的是,我必须同时使用它们两个,所以无论如何我都可以编写一些“ friend ”函数,以便当我尝试在其他库的函数中使用它们时,一个可以自动转换为另一个?

最佳答案

Auto-cast 似乎是不可能的。您可以定义全局转换函数并显式调用它。您可以发布该类的定义吗?可能会有一些继承技巧。

类似这样,但它不是自动施法:

class T1 {};
class T2 {};

class UnionType : public T1, public T2
{
public:
UnionType( const T1& val ) {} // real storing should be here
UnionType( const T2& val ) {} // real storing should be here

operator T1() { T1 t; return t; } // real conversion should be here
operator T2() { T2 t; return t; } // real conversion should be here
};

int main()
{
T1 t;
T2 t2 = UnionType(t);

return 0;
}

关于c++ - 自动施放两个第 3 方类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1286449/

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