[英]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.