64,685
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
using namespace std;
class Door
{
public:
void open() const
{
cout << "open door horizontally" << endl;
}
void close() const
{
cout << "close door horizontally" << endl;
}
};
class DoorController
{
protected:
vector<Door> _doorVec;
public:
void addDoor(Door aDoor)
{
_doorVec.push_back(aDoor);
}
void openDoor() const
{
for_each(_doorVec.begin(), _doorVec.end(), mem_fun_ref(&Door::open));
}
};
int main()
{
DoorController dc;
dc.addDoor(Door());
dc.addDoor(Door());
dc.openDoor();
return 0;
}