C++类方法返回不同的类型
C++ class method to return different types
我在一个类中有一个方法,它返回字符串向量。很简单。但说有时我想让整根绳子都回来,不分析?但使用相同的方法。
由于获取数据的方法非常复杂,我目前使用该方法返回原始字符串,然后在必要时将其解析为main中的向量。或者,如果需要,可以用不同的返回类型复制该方法。
有没有一种更优雅的方法可以用一种方法做到这一点?
很抱歉,发布这篇文章后,我就想好了怎么做。将获取数据的复杂方法设置为私有方法,设置两个调用它的公共方法,并返回不同的类型。重点是保持从字符串集到向量的转换不在main范围内。会躲在课堂上。
有时谈论问题会有所帮助。独自工作,没有人可以交谈。
谢谢你们,信不信由你们,你们在不知情的情况下提供了帮助。:)
通常不可能有两个名称相同但返回类型不同的函数。从狭义上讲,我认为以下是绕过这一限制的主要可能性:
- 这类问题的一般解决方案是将引用作为参数,这些参数会作为函数的副作用而更改。实际返回值是一个简单的bool或整数,表示成功。在这里,您将传递一个对初始空向量的引用;字符串是否被解析和拆分将由布尔返回值指示,解析结果(如果发生)将被放入引用向量中
- 像以前一样返回矢量;空向量表示没有进行解析。这个解决方案意味着调用者可以访问原始字符串,例如,因为获取字符串和解析字符串是由两个函数分开的
从更广泛的意义上说,这只是一个设计问题,正如您刚刚发现的那样。您可以获取、检查数据,并且只有在检查表明有必要的情况下,才可以在单独的步骤中解析数据,这样您就知道要调用哪个函数以及在每一点上对数据做什么。Divide et impera,编程之道。
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 我的模板类方法返回错误类型?
- C++ 模板:重载时找不到基类类型参数方法
- 返回自己的类型的模板类方法的正确签名
- 如何根据特定类型任意启用或禁用类方法
- 我如何根据某些模板参数影响模板类方法的返回类型
- 返回不同类型/类的方法的设计模式
- 更改基类方法在其派生类中的返回类型
- 如何检查模板类方法返回类型
- 如何在尝试为某些非类型值实例化模板子类方法时产生编译器错误
- 当可变参数模板类继承自模板参数时,在调用基类型的方法时扩展参数包
- C 处理类模板及其类型的方法是什么?
- 如何从模板化的类方法返回依赖类型
- 是否可以使用循环对其所有类型执行类方法
- C++类方法返回不同的类型
- 如何使variadic模板类方法以函数指针为参数,类型派生自函数模板
- 指向任意类方法的模板非类型指针
- 不完整类型(类方法专用化)的使用无效
- 类方法的返回类型推导?C++1y.
- 类型类方法的参数的推导(const限定符重载)在gcc中失败,但在clang中没有