我是编程新手,我们刚开始学习&#34;课程&#34;。我将向您展示我在互联网上找到的示例代码。我的问题是 - &#34;添加&#34;和&#34; res&#34; 构造函数以及构造函数如何返回值? &#34; X res和X add&#34; 不是int类型的方法,它仍然返回一个值(也不是res的变量),所以我&# 39;我真的很困惑..我在stackoverflow中的一些帖子中看到构造函数无法返回值,但是&#34; X res和X add&#34; < / strong>?
#include <iostream>
using namespace std;
class X {
int a;
int b;
public:
X (int a=7, int b=6) {
this->a = a;
this->b = b;
}
void print() {
cout << a << b;
}
X add() {
X res(a+b, a-b);
return res;
}
};
int main() {
X x;
x.add().print();
return 0;
}
答案 0 :(得分:3)
&#34;添加&#34;和&#34; res&#34;构造
没有。 add()
是类X
的成员函数,并返回X
,res
是add()
内的X
类型的局部变量。
构造函数无法返回值
是的,没错。
答案 1 :(得分:2)
是“add”和“res”构造函数,构造函数如何返回值?
否add()
是一个“普通”类成员函数,它返回一个名为X
的新res
实例,该实例是使用X(int, int)
构造函数初始化的。
答案 2 :(得分:1)
什么是“X res和X add”?
X res表示res是X类的对象; add是类X的成员函数的名称,它可以返回类X的对象。
答案 3 :(得分:0)
类构造函数是类的特殊成员函数 每当我们创建该类的新对象时执行。
构造函数与类具有完全相同的名称,但它没有 有任何返回类型,甚至无效。构造函数可以非常 用于设置某些成员变量的初始值。
所以add
和print
不是构造函数。只是X (int a=7, int b=6) {
this->a = a;
this->b = b;
}
是构造函数。