C++类方法返回不同的类型

C++ class method to return different types

本文关键字:类型 类方法 返回 C++      更新时间:2023-10-16

我在一个类中有一个方法,它返回字符串向量。很简单。但说有时我想让整根绳子都回来,不分析?但使用相同的方法。

由于获取数据的方法非常复杂,我目前使用该方法返回原始字符串,然后在必要时将其解析为main中的向量。或者,如果需要,可以用不同的返回类型复制该方法。

有没有一种更优雅的方法可以用一种方法做到这一点?

很抱歉,发布这篇文章后,我就想好了怎么做。将获取数据的复杂方法设置为私有方法,设置两个调用它的公共方法,并返回不同的类型。重点是保持从字符串集到向量的转换不在main范围内。会躲在课堂上。

有时谈论问题会有所帮助。独自工作,没有人可以交谈。

谢谢你们,信不信由你们,你们在不知情的情况下提供了帮助。:)

通常不可能有两个名称相同但返回类型不同的函数。从狭义上讲,我认为以下是绕过这一限制的主要可能性:

  • 这类问题的一般解决方案是将引用作为参数,这些参数会作为函数的副作用而更改。实际返回值是一个简单的bool或整数,表示成功。在这里,您将传递一个对初始空向量的引用;字符串是否被解析和拆分将由布尔返回值指示,解析结果(如果发生)将被放入引用向量中
  • 像以前一样返回矢量;空向量表示没有进行解析。这个解决方案意味着调用者可以访问原始字符串,例如,因为获取字符串和解析字符串是由两个函数分开的

从更广泛的意义上说,这只是一个设计问题,正如您刚刚发现的那样。您可以获取、检查数据,并且只有在检查表明有必要的情况下,才可以在单独的步骤中解析数据,这样您就知道要调用哪个函数以及在每一点上对数据做什么。Divide et impera,编程之道。