为啥我没有任何输出?

Posted

技术标签:

【中文标题】为啥我没有任何输出?【英文标题】:Why don't I get any output?为什么我没有任何输出? 【发布时间】:2015-06-13 20:38:10 【问题描述】:

我正在尝试用 C++ 编写我的第一个 OOP 代码,但由于某种原因,我没有得到任何输出。我正在尝试创建一个包含方法 getSquare() 的类,该方法接受 int n 并返回数字的平方。谁能告诉我哪里做错了?

#include <iostream>

using namespace std;

class myClass 

public:
    int square;    
    void getSqure(int n);  
;

void myClass::getSqure(int n) 
    int square = n * n;


int main()
    int n = 5;
    myClass c;

    c.getSqure(5);

    cout << endl;
    return 0;

【问题讨论】:

你正在输出除行尾以外的任何内容 【参考方案1】:

您的getSquare 函数没有做任何事情,只是定义了变量square(虽然不返回它)。让它以int 的形式返回,比如

int myClass::getSqure(int n)  // make sure to change the declaration also
    int square = n * n;
    return square;

然后做

cout << c.getSquare(5) << endl;

你会有一个输出。

【讨论】:

感谢您的回复。好吧,我之前尝试过,但是当我尝试返回正方形时,它不会编译! @Zzhh82 因为你的函数被声明为返回void。 @vsoftco 将函数更改为返回 int @Zzhh82 你是不是也在你的班级里把声明改成了int getSquare(int n); 这就是问题所在,我的课上没有改过!!!现在可以了!非常感谢您的帮助!【参考方案2】:

这就是我在尽可能接近您问题的原始规则的同时解释代码的方式。

#include <iostream>
#include <conio.h>

int main()

    class MyClass
    
    public:

           int Number;
           int Square;
    ;

    MyClass N;

    std::cout << "Please enter a number." << std::endl;
    std::cin >> N.Number;
    std::cout << std::endl << std::endl;

    std::cout << "Original number: " << N.Number;
    std::cout << std::endl << std::endl;

    N.Square = (N.Number * N.Number);

    std::cout << "Squared number: " << N.Square;
    std::cout << std::endl << std::endl;

    std::cout << "Press any key to continue.";

    _getch();
    return(0);

输出:

请输入一个数字。 5

原编号:5

平方数:25

按任意键继续。

【讨论】:

以上是关于为啥我没有任何输出?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 console.log 没有在这里输出任何东西? [复制]

为啥这个链表程序没有给出任何输出?

为啥循环摘要在 gprof 的调用图输出中没有任何调用者?

为啥在我的 OpenGL 引擎中没有从 MyGUI 获得任何屏幕输出?

为啥这段代码没有在 p5.js 的画布上输出任何东西?

为啥我的输出文件名为“part-r-xxxxx”,即使我没有提到任何减速器类?