我有一個使用一個結構,我想超載< <操作爲結構,但只在類的類:超負荷運營商<<在C++類中的
typedef struct my_struct_t {
int a;
char c;
} my_struct;
class My_Class
{
public:
My_Class();
friend ostream& operator<< (ostream& os, my_struct m);
}
我只能當我聲明運算符< <重載w/friend關鍵字時編譯,但然後運算符在我的代碼中的任何地方超載,而不僅僅是在類中。如何僅在類中爲my_struct重載< <運算符?
編輯:我將要使用重載運算符來打印這是My_Class
但是,當你用`my_struct`調用`operator <<`時,它只會被重載,所以不好嗎? – 2009-07-29 14:02:38
請注意,'typedef結構'成語在C++中並非真正必需:http://stackoverflow.com/questions/612328/difference-between-struct-and-typedef-struct-in-c – 2009-07-29 14:09:33