C++ 不带成员函数的类实例的默认返回

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);

在某个地方使用对象时(不使用getter成员函数),是否可以使类在默认情况下返回特定的成员变量

如果我有这门课:

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;
}