2014-11-05 20 views
-5
enum t_poi { Restaurant , bar , club , cinema }; 

class CPOI 
{ 
private : 
    t_poi m_type ; 
    string m_description; 

public : 
    CPOI(t_poi type , string name , string description , double latitude , double longitude); 
    void print(); 

}; 

CPOI ::CPOI(t_poi type , string name , string description , double latitude , double longitude){ 


    m_type = type; 
    m_description = description; 


} 

void CPOI::print(){ 

    //here i want to print the other non member variables (name , latitude and longitude) 
} 

**現在我不知道如何將這些3個非成員變量保存,以便使用它們在其他功能 注:我不想讓他們的成員變量 **當將非成員變量數據傳遞給構造函數時如何保存並在其他成員函數中使用? C++

+0

您可能想要擴展您的問題多一點。它看起來並不像你投入很多工作。如果你不願意解釋和澄清你的問題,你怎麼能指望別人把工作回答你的問題? – 2014-11-05 17:02:55

+1

'注:我不想讓他們成員變量' - 那麼你期望如何拯救他們? – 2014-11-05 17:03:22

+0

簡單地說,有5個屬性被傳遞給類CPOI的構造函數,並且這個類只有2個成員變量t_type和描述...問題是根據項目的UML設計我不能聲明其他3非成員變量作爲成員變量傳遞給構造函數,print函數也不應該說任何參數,所以我要求一種方法來保存傳遞給構造函數的這3個屬性,並在不改變類設計的情況下在其他成員函數中使用它們,對不起,如果它不明確! – 2014-11-05 17:13:46

回答

1

你兩個選項

1)使他們的成員變量

2)作爲自變量添加它們到print()函數,如下所示,然後在構造函數中調用print(如果是這樣的意圖)

void CPOI::print(string name, double latitude , double longitude) 

如果您將它們傳遞給構造函數,但它們不存儲在成員變量中,並且不用作構造函數中調用的任何函數的參數,則它們實際上是無用的。

+0

這就是真正的!但這是如何被要求在項目中實現的名稱,長,拉特不是一個成員變量和打印功能不應該採取任何屬性...您的100%權利tho,多謝 – 2014-11-05 17:09:32

+0

@ user2628079:聽起來像一個非常非常愚蠢的項目。 – 2014-11-05 17:25:00

相關問題