Могут ли два члена класса использоваться в одной и той же функции?(классы и объекты) (C ++) - PullRequest
0 голосов
/ 16 октября 2018

Я новичок в программировании, и я начал с 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 голосов
/ 16 октября 2018

Видя ваш код, похоже, вы хотите найти сумму двух чисел, которые являются членами вашего класса.для этого вам не нужно создавать 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;
}

Таким образом, вы можете легко суммировать членов вашего класса.

в будущем, если вы хотите добавить два объекта ваших собственных классов, вам может понадобиться использовать концепцию перегрузки операторов, которую вы можете найти в нескольких учебных пособиях онлайн.

Удачи!

0 голосов
/ 16 октября 2018

Если вы хотите ввести два числа в экземпляр класса 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...