C++构造函数和调用函数
C++ constructor and calling function
我是一名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
然而,我希望你真正想做的是添加你之前输入的两个数字。在这种情况下,您需要重写方法以使用x
和y
,而不是a
和b
int add()
{
int sum=x+y;
cout<<"nsum=" << sum;
}
然后
int main()
{
class1 obj1;
obj1.read();
obj1.add();
}
在这个代码中不需要obj2
。
add
函数中缺少返回语句。只需添加一行return sum;
到您的add
功能的末尾
相关文章:
- 函数调用中参数的顺序重要吗
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 变量没有改变?通过向量的函数调用
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- 我知道函数调用中存在歧义.有没有办法调用foo()函数
- 模板函数调用
- 获取从C++中同一类中的构造函数调用的方法返回的值
- 析构函数调用
- 成员函数调用和C++对象模型
- 使用共享指针的函数调用,其对象应为 const
- C++:编译时检查匹配的函数调用对?
- 函数调用C++中的参数太少
- 来自 DLL 的函数调用 [表观调用的括号前面的表达式必须具有(指向-)函数类型]
- 返回指向对象的指针的函数调用是否为 prvalue?
- C++ 如何重载 [] 运算符并进行函数调用
- 代码的效率. 转到和函数调用
- 是同一作用域的函数部分中的函数调用
- 如何封装一个函数,以便它只能由同一类中的一个其他函数调用?
- 类型擦除的std::function与虚拟函数调用的开销