简体   繁体   English

C ++ Getter方法打印怪异数字

[英]C++ Getter Method Printing Weird Numbers

I suspect it's a problem with pointers, but I'm fairly new to C++ and I'm having some trouble debugging this. 我怀疑这是指针的问题,但是我对C ++还是很陌生,调试时遇到了一些麻烦。 I have a getX() method in my Vector class I'm writing, but it never prints the int I pass in. 我正在编写的Vector类中有一个getX()方法,但是它从不打印传入的int。

main.cpp

#include <iostream>
#include "Vector2.h"
using namespace std;
int main() {
    Vector2 vec2 = Vector2(5, 6);
    cout << vec2.getX() << endl;
    return 0;
 }

Vector2.cpp

#include "Vector2.h"`

Vector2::Vector2(int u, int v) {
    // TODO Auto-generated constructor stub
    int x = u;
    int y = v;
}
int Vector2::getX() {
        return x;
}
int Vector2::getY() {
        return y;
}
Vector2::~Vector2() {
    // TODO Auto-generated destructor stub
}

Vector2.h

#ifndef VECTOR2_H_
#define VECTOR2_H_

class Vector2 {
    int x;
    int y;
public:
    Vector2(int x, int y);
    int getX();
    int getY();
    virtual ~Vector2();
 };

#endif /* VECTOR2_H_ */
Vector2::Vector2(int u, int v) {
    // TODO Auto-generated constructor stub
    int x = u;
    int y = v;
}

The constructor updates local variables instead of class members. 构造函数更新局部变量而不是类成员。 Try 尝试

Vector2::Vector2(int u, int v) {
    x = u;
    y = v;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM