可以将构造函数添加到包含的类吗?

问题描述 投票:0回答:1

我使用的库具有一些有用的类型,但是它们缺少某些功能。因此,我在考虑是否有扩展这些类型的好方法。

我从库中获取了一些其他类型,并从它们继承而来,只是使用了自己的扩展版本。我想不出一种方法来解决以下问题。

有一个浮点和一个完整的2D点结构,即Point2D和Point2DInt。我希望既可以在两者之间进行隐式转换,也可以从彼此之间构造一个,无论哪种情况,我都想向此外部类添加一个构造函数。

在整型类中有一个到int构造函数的浮点数,但没有其他方法。

我了解我可以使一个实用程序函数执行此操作,但想知道总体上是否可行。

c++ constructor
1个回答
1
投票

使类隐式转换为另一类的唯一方法是修改其中一个类(将转换构造函数添加到一个,或将转换运算符添加到另一个)。修改必须在类的定义中进行;不在定义之后。

实际上,您可以编写一个将一个作为参数并返回另一个的函数,但是隐式转换是不可能的。

© www.soinside.com 2019 - 2024. All rights reserved.