c++ - 从类中打印变量

标签 c++ class oop

我是编程初学者,我检查了其他像我一样的问题,但我什么都不明白。

遗憾的是,我有一个代码,在该代码中我创建了一个类。在类中方法的帮助下,我正在更改在类中创建的一些变量。但当我尝试打印它们时,我却做不到。也许我做错了什么,但无论如何我需要帮助,我的代码没有显示任何类型的语法错误,但是当我使用 F5 运行代码时,控制台只是关闭,我看不到更新的变量。相反,我的调试窗口有很多丢失的文件内容。

(我尝试返回player.x;也有类似的事情,同样的事情发生)

#include <iostream>

using namespace std;

class Entity  {

public:
    int x, y, speed;

    auto Move(int a, int b , int speed)
    {

        x += a * speed;
        y += b * speed;

    }
}; 

int main() 
{
    Entity player;

    player.Move(1, -1, 4);

    cout << player.x << endl;
    cout << player.y << endl;
}

this is the error window

添加 getchar();或 sleep (5000);或系统(“暂停”)类型的东西可以让我的控制台保持打开状态,但现在还有另一个问题,我玩的数字很低,但它打印出大约负80万的东西。感谢您的回复,我没有得到未定义行为的事情。您是说我无法访问我在类“entity”中创建的 main 变量吗?

谢谢大家,问题都解决了。 如果你要使用它们,你不应该留下任何 undefined variable ,我向它们添加了一些值,现在我得到 4 和 -4 作为 x 和 y 坐标,而不是大约 80 万或数百万的东西。 (如果像我这样的新手感兴趣的话,x 和 y 为 0,速度为 1)。

最佳答案

“错误窗口”(实际上是调试输出)中没有重要错误。有关丢失 PDB 文件的消息并不重要,可以安全地忽略,然后您会收到代码 0 的退出消息,告诉您程序运行正常。

您的问题是控制台窗口在您有机会看到输出之前就消失了,请参阅 this question有些方法可以让您在控制台窗口消失之前看到输出。完成此操作后,您很可能会看到程序运行正常。

关于c++ - 从类中打印变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52057881/

相关文章:

c++ - 结构中的数组 C++

c++ - 如何有效地检查/限制 sqlite 数据库的大小?

c++ - 类默认构造函数

C++ 移动类,里面有线程

c++ - 中介者模式 vs 发布/订阅

c++ - std::set 比较器函数如何工作?

c++ - 你如何静态断言可变参数模板的参数包中的值?

类的 C# 可选数组参数

php - 工厂 build 一个物体,是浪费还是不必要?

c++ - 面向对象的设计选择