我是C ++学习者...我创建了一个简单的程序,其中创建了一个构造函数和两个函数..我的问题是当我创建一个对象并调用一个函数时,构造函数不称为(edit:solved !) ..我又如何调用带有读取函数的add函数(以便在从用户那里获取输入后,程序会调用add函数并添加数字?)
编辑:已解决!构造函数现在可以按预期工作了,弄清楚了如何进行另一个函数调用:)
#include<iostream>
using namespace std;
class class1
{
int x,y;
public:
class1()
{
cout<<"object created\n";
}
void read()
{
cout<<"enter x";
cin>>x;
cout<<"enter y";
cin>>y;
}
int add(int a, int b) //int add()
{
int sum=a+b; // int sum=x+y
cout<<"\nsum=" << sum; // return sum
}
};
int main()
{
class1 obj1;
obj1.read();
onj1.add(); //this was missing and it didnt work prevuiously
}
答案 0 :(得分:1)
现在,您的值存储在x和y中,您可以添加如下所示的值:
int add() {
int sum=x+y;
cout<<"\nsum=" << sum;
}
并在读取方法后从main()调用此方法
obj1.add();
答案 1 :(得分:0)
也许这是部分问题,因为您的课程不是很有意义。您不需要将两个数字相加的类。但是鉴于您的代码,您将编写类似
obj1.add(10, 20);
输出应该是
sum=30
但是,我希望您真正想要发生的是将您先前输入的两个数字相加。在这种情况下,您需要重写方法以使用x
和y
而不是a
和b
int add()
{
int sum=x+y;
cout<<"\nsum=" << sum;
}
然后
int main()
{
class1 obj1;
obj1.read();
obj1.add();
}
此代码中不需要obj2
。
答案 2 :(得分:0)
add
函数中缺少返回语句。只需添加一行
return sum;
到add
函数的末尾