首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用类方法时的空输出

使用类方法时的空输出
EN

Stack Overflow用户
提问于 2018-10-10 12:14:37
回答 1查看 59关注 0票数 2

在下面的代码中,我没有直接调用sumit()函数的输出,但是当我通过另一个函数displayIt() (调用sumit() )调用它时,它会显示输出。我怎么才能修好它?也请解释一下发生了什么?

代码语言:javascript
复制
#include<iostream>
#include<string>
using namespace std;


template <typename C>

class ABC
{

private:
  C num1, num2;

public:
  ABC(C a, C b)
  {
      num1 = a;
      num2 = b;
  }

void displayIt()
  {
      cout << "A+B:" << sumit() << endl;
  }

C sumit() { return num1 + num2; }

};

int main()
{
ABC<int> o1(2, 3);
ABC<string> o2("ABC", "XYZ");

//It doesn't display aything...
cout << "Call-1: " << endl;
o1.sumit();
o2.sumit();

//It displays the output...
cout << "Call-2: " << endl;
o1.displayIt();
o2.displayIt();

system("pause");

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-10 12:18:24

当然,您没有输出,因为此方法没有试图打印任何内容。它只返回一个数字。

要么主要做这件事:

代码语言:javascript
复制
cout << o1.sumit() << endl;
cout << o2.sumit() << endl;

它将直接打印此方法返回的值。

或者将displayIt的相同逻辑添加到sumit中。

BTW -这个问题与C++模板无关。同样的行为也会发生在一个普通的班级里。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52740023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档