C++ 不带成员函数的类实例的默认返回
在某个地方使用对象时(不使用getter成员函数),是否可以使类在默认情况下返回特定的成员变量 如果我有这门课:C++ 不带成员函数的类实例的默认返回,c++,class,return,default,C++,Class,Return,Default,在某个地方使用对象时(不使用getter成员函数),是否可以使类在默认情况下返回特定的成员变量 如果我有这门课: class A{ public: A(int nr) : number(nr){}; ~A(); int getNr(){ return this->number }; int number; }; 要在以后的程序中设置并获取其编号,我可以执行以下操作: int main(){ A thing(23);
class A{
public:
A(int nr) : number(nr){};
~A();
int getNr(){ return this->number };
int number;
};
要在以后的程序中设置并获取其编号,我可以执行以下操作:
int main(){
A thing(23);
std::cout<<"Your number is: "<<thing.getNr();
return 0;
}
intmain(){
一件事(23);
std::cout您的特定示例调用您的特定示例调用可能的重复:查看此可能的重复:查看此
std::cout<<"Your number is: "<<thing;
#include <iostream>
class A{
public:
A(int nr) : number(nr) { }
~A() { }
int getNr() const { return this->number; }
int number;
};
std::ostream& operator<<(std::ostream& os, const A& a) {
os << a.getNr();
return os;
}
int main(int, char *[]) {
A a(42);
std::cout << a << std::endl; // prints 42
}
void doSomething(int x) {
// ...
}
class A{
public:
A(int nr) : number(nr){}
~A(){}
int getNr(){ return this->number; }
int number;
operator int() { return getNr(); }
};
int main(int, char *[]) {
A a(42);
doSomething(a); // calls operator int() above
return 0;
}