是否可以将类用作自己方法的返回类型
Posted
技术标签:
【中文标题】是否可以将类用作自己方法的返回类型【英文标题】:is it possible to use a class as a return type of a the own method 【发布时间】:2015-07-19 04:51:43 【问题描述】:是否可以像这样使用类作为类方法(ErgbnisAusFortran)的返回类型:
class ErgbnisAusFortran
public:
ErgbnisAusFortran();
private:
int Var_a;
int Var_b ;
public:
int getVar_a() const return Var_a;
int getVar_res() const return Var_res;
void setVar_res(int input) Var_res = input;
void setVar_a(int input) Var_a = input;
ErgbnisAusFortran calculateResults(EingabeWerte Ein);
;
【问题讨论】:
是的。你试过这个吗?你遇到了什么问题? 这绝对是可能的,我相信你已经在你的代码中使用了这样的函数(也许没有注意到)。例如,+
运算符通常返回同一类的新对象。
是的,当然你可以使用一个类作为返回类型。也许你可以对你的函数做一点改变,你可以这样写:ErgbnisAusFortran calculateResults(const EingabeWerte& Ein);
【参考方案1】:
当然,这是可能的。这也很常见——例如,Factory Method 模式可以在单个类中实现,在这种情况下,成员函数将返回它们所属的类的实例。完成此操作的另一种常见情况是不可变类生成自身的修改版本。
尽管您可以在几乎所有情况下都这样做,但在某些情况下,您可能不应该这样做,选择创建一个单独的类,其中的函数返回你的班。主要标准是从逻辑的角度来看是否有意义。
【讨论】:
如果它解决了您的问题,您应该接受答案@user3443063以上是关于是否可以将类用作自己方法的返回类型的主要内容,如果未能解决你的问题,请参考以下文章