繁体   English   中英

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

[英]Can two class members be used in the same function? (classes and objects) (C++)

我是编程新手,我已经开始使用 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;
}

我得到一个正确的结果。 如果我能够在同一个函数中使用两个对象,有人可以解释一下吗? 如果我可以,应该如何?

如果你想在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;
}

看到您的代码,您似乎想找到属于您的班级成员的两个数字的总和。 您不需要为此实例化 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;
}

通过这种方式,您可以轻松总结您的班级成员。

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

祝你好运 !

暂无
暂无

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

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