class FileDisplayer
{
public:
virtual File display() const;
...
};
class File
{
...
};
std::vector<FileDisplayer*> objStaff; // this
FileDisplayer* objStaff[100]; // ... or this
FileDisplayer** objStaff; // ... or this
File outputFile = objStaff[x]->display();
不知道你真正的意思,所以FileDisplayer
和File
可能是誤導性的姓名。
編輯:
這可能是顯示是指採取OUTPUTFILE作爲參數(和OUTPUTFILE是輸出流)。在這種情況下,上面應該改寫成這樣
class FileDisplayer
{
public:
virtual void display(std::ostream& file) const;
...
};
std::vector<FileDisplayer*> objStaff; // this
FileDisplayer* objStaff[100]; // ... or this
FileDisplayer** objStaff; // ... or this
std::ofstream outputFile;
...
objStaff[x]->display(outputFile);
請清楚,你想要做什麼興奮? – manish
或者反過來問,爲什麼你覺得你不能這樣做?或者爲什麼不簡單地嘗試呢? – codeling
聽起來對我來說完全可能。 – john