2012-06-14 27 views
0

我已經創建另一個類的對象類,FE:調用另一個類創建的類對象不具有名稱

University uni1("University 1"); 

uni1.createFaculty("Faculty 1"); 

現在我想打電話給教師創造使用其功能但我不知道如何...

如果通過任何方式,這可以通過搜索找到,然後原諒我,我不知道如何說它。

學院被存儲在大學課堂內的一個集合中。

+0

教師對象應該存儲在哪裏? – chris

+0

在一系列學院。班級大學有它的私人。 – user1455380

+0

你可以給我們帶有變量和方法的'University'類聲明嗎? – penelope

回答

-1

如果你的方法createFaculty返回一個指向一個動態分配的對象教師,只是做:

Faculty* fac1 = uni1.createFaculty("Faculty 1"); 

這樣你就可以通過FAC1引用新的學院。

+0

壞的非擁有指針。 – Puppy

+0

@DeadMG這不會取決於createFaculty的實現嗎?原諒我的缺乏經驗,但我通過工廠對象並沒有保留它們創建的對象的所有權...... – Daniel

2

你需要看什麼University::createFaculty回報,並使用該返回值分配給的東西:

Something x = uni1.createFaculty("hello"); 

,我猜SomethingFacultyconst Faculty&Faculty&const Faculty*Faculty*

編輯:如果該方法在一個私人std::set<Faculty>創建Faculties並存儲它們,然後適當的返回值是const Faculty&

class University { 
public: 
    const Faculty& createFaculty(args); 
}; 

然後調用者可以乘坐參考,或進行復制:

const Faculty& f0 = uni1.createFaculty("hello"); // take reference 
Faculty f1 = uni1.createFaculty("hi"); // make copy 
+0

它不會返回任何東西...我必須讓它返回一些我想要做的事情嗎? – user1455380

+0

@ user1455380是的,你這樣做,這取決於如何創建和存儲學院。你能否添加一些關於這方面的細節?我在回答中添加了一些例子,但我必須做出一些假設。 – juanchopanza

+0

謝謝!它現在的作品:) – user1455380

相關問題