可以在同一个函数中使用两个类成员吗? (类和对象)(C ++)

时间:2018-10-15 21:23:36

标签: c++ class object

我是编程新手,我已经开始使用C ++。在这一点上,我正在尝试使用类和对象。

我的问题是我无法获得想要的正确结果。

这是我的代码:

#include <iostream>
using namespace std;

class Variable
{
public:
    int classAnum;
    int classBnum;
    void sumVar(){
        cout << classAnum + classBnum <<endl;
    }
};

int main()
{
    Variable numA;
    Variable numB;
    cout << "Enter a number: ";
    cin >> numA.classAnum;
    cout << "Enter another number: ";
    cin >> numB.classBnum;
    numA,numB.sumVar();
    return 0;
}

我得到的输出是:

Enter a number: (any number)
Enrer another number: (any number)
1955294086

输入任何数字我都会得到这个输出。

但是,如果我使用以下代码:

#include <iostream>
using namespace std;

class Variable
{
public:
    int classAnum;
    int classBnum;
    void sumVar(){
        cout << classAnum + classBnum <<endl;
    }
};

int main()
{
    Variable numA;
    Variable numB;
    cout << "Enter a number: ";
    cin >> numA.classAnum;
    cout << "Enter another number: ";
    cin >> numB.classBnum;
    cout << numA.classAnum + numB.classBnum;
    return 0;
}

我得到正确的结果。有人可以解释我是否可以在同一函数中使用两个对象吗?如果可以的话,应该怎么办?

2 个答案:

答案 0 :(得分:1)

如果您想在Variable类实例中输入两个数字,然后调用函数sumVar()以打印两个数字的和,则可以执行以下操作:

#include <iostream>
using namespace std;

class Variable
{
public:
    int classAnum;
    int classBnum;
    void sumVar(){
        cout << classAnum + classBnum <<endl;
    }
};

int main()
{
    Variable num;
    cout << "Enter a number: ";
    cin >> num.classAnum;
    cout << "Enter another number: ";
    cin >> num.classBnum;
    num.sumVar();
    return 0;
}

答案 1 :(得分:0)

看到您的代码,您似乎想找到属于类成员的两个数字之和。您无需为此实例化2个对象,只需实例化一个对象即可完成此操作,并通过以下方式初始化属性:

#include <iostream>
using namespace std;

class Variable
{
public:
    int number1;
    int number2;
    void sumVar(){
        cout << number1 + number2 <<endl;
    }
};

int main()
{
    Variable object;

    cout << "Enter a number: ";
    cin >> object.number1;
    cout << "Enter another number: ";
    cin >> object.number2;
    object.sumVar();

    return 0;
}

这样,您可以轻松总结班级成员。

将来,如果要添加自己类的两个对象,则可能需要使用运算符重载概念,您可以在几个在线教程中找到这些概念。

祝你好运!