sách gpt4 ăn đã đi

c++ - chuyển đổi không phải thành viên (thành viên), các loại khác nhau có cùng thành viên (thành viên)

In lại 作者:太空狗 更新时间:2023-10-29 23:44:26 27 4
mua khóa gpt4 giày nike

我有两个我无法修改的类,它们都具有完全相同的成员:

class Pose1 {
công cộng:
double x,y;
};
class Pose2 {
công cộng:
double x,y;
};

一部分代码使用 Pose1,另一部分使用 Pose2。有没有办法将它们相互隐式转换?现在我必须一直写

Pose1 p1(0.5, 0.5);
Pose2 p2(p1.x,p2.y);

我知道我可以编写一个只执行一次的转换函数。但是我有很多不同的类型和很多参数。

有什么办法可以做类似的事情:

Pose2 p2 = static_cast(p1);

我无法使用成员函数,因为我无法更改此代码。

Cảm ơn!

câu trả lời hay nhất

试试这个:

template 
Dest pose_cast(const Src &src)
{
return Dest(src.x, src.y) ;
}

cách sử dụng:

Pose1 p1 ;
Pose2 p2 = pose_cast(p1)

适用于两种转化。

关于c++ - 非成员(member)转换,不同类型同成员(member),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30399069/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress