2013-08-26 99 views
0

我已經使用字符數組創建了一個字符串類。作爲類對象返回變量

我實際上需要放置數組而不是類對象。這是一個簡單的例子。

我想打印爲整數,而不是作爲一類對象,它是不可能的。

#include <iostream> 

class T 
{ 
    int A ; 

    public : T () 
    { 
     A = 10 ; 
    } 
} ; 

void main () 
{ 
    T B ; 
    std :: cout << B ; 
} 
  1. 這可能嗎?

  2. 好的,但是怎麼樣?

+5

'main'需要返回一個'int'。 – chris

+3

實現您的要求的步驟:第0步:從每個詞的開頭刪除帽子,因爲它非常惱人。 – 2013-08-26 13:31:37

+1

爲什麼在地球上你會把每個單詞都用大寫? – jrok

回答

4

您需要的輸出流運算符:

std::ostream& operator <<(std::ostream& o, const T& t) 
{ 
    return o << t.A; 
} 

需要注意的是,由於A是私有的,它必須是Tfriend

0

一種方法是將功能添加到您的類定義的公共部分,它返回一個值:

class T{ 
... 
public: 
... 
int retA(){ 
    return A; 
} 
}; 

int main{ 
T B; 
cout << B.retA(); 
return 0; //This is what chris said in his comment! 
} 

希望這有助於!

+1

請注意,雖然'main'必須*聲明爲返回一個'int',你實際上並不需要'return'語句。與C++中的其他地方不同,這是一個隱含的「返回0」的地方,如果你陷入低谷。 (奇怪,我知道。) – wjl

+1

@wjl:我出現了這個規則,並希望大家都會忘記它。如果我有一個返回某個東西的函數,那麼我會明確地返回一些東西,補充它! –

+0

@ wjl:謝謝你指出。畢竟C++總是默認返回一個值,在大多數情況下不是嗎? – iluvthee07