2012-06-14 25 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

相关问题