C++构造函数和调用函数

C++ constructor and calling function

本文关键字:函数 调用 构造函数 C++      更新时间:2023-10-16

我是一名C++学习者。。。我创建了一个简单的程序,其中我创建了构造函数和两个函数。。我的问题是,当我创建一个对象并调用一个函数时,构造函数不会被调用(编辑:已解决!(。。此外,我如何用read函数调用add函数(这样,在从用户那里获得输入后,程序调用add函数并添加数字?(

编辑:已解决!构造函数现在可以按预期工作,已经知道如何进行另一个函数调用:(

#include<iostream>
using namespace std;
class class1
{
int x,y;
public:
class1()
{
cout<<"object createdn";
}
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
}

现在您的值存储在x和y中,您可以添加如下值:

int add() {
int sum=x+y;
cout<<"nsum=" << sum; 
}

并在读取方法后从main((调用此方法

obj1.add();

这里的部分问题可能是您的类不是很有意义。你不需要一个类来加两个数字。但考虑到你的代码,你会写一些类似的东西

obj1.add(10, 20);

输出应该是

sum=30

然而,我希望你真正想做的是添加你之前输入的两个数字。在这种情况下,您需要重写方法以使用xy,而不是ab

int add()
{
int sum=x+y;
cout<<"nsum=" << sum;
}

然后

int main()
{
class1 obj1;
obj1.read();
obj1.add();
}

在这个代码中不需要obj2

add函数中缺少返回语句。只需添加一行return sum;到您的add功能的末尾