class X {
int i;
public:
X(int ii = 0);
void modify();
};
X::X(int ii) { i = ii; }//定义成员函数
void X::modify() { i++; }
X f5() {//??这是什么呢?
return X();
}
const X f6() {//???
return X();
}
void f7(X& x) { // Pass by non-const reference
x.modify();
}
int main() {
f5() = X(1); // OK -- non-const return value
f5().modify(); // OK
// Causes compile-time errors:
//! f7(f5());
//! f6() = X(1);
//! f6().modify();
//! f7(f6());
}
见那注释那,谢谢啊
那这个函数跟类X有什么关系呢?是类中的成员函数吗?
追答没有任何关系,因为没在类内部定义这个函数,这个是一个全局函数
追问那还加个X在前面干什么啊?不是多此一举吗?
追答你定义一个返回值为整形的变量的函数要定义成int a();定义返回布尔类型的函数要bool a();这个返回类型是X,当然要定义成X f5();
追问有点意思,明白了。。。谢谢啊