65,182
社区成员




#include <iostream>
#include <vector>
using namespace std;
class ICommand;//一早就声明这哥们
class ConcreteCommand
{
public:
vector<ICommand*> undoList;
ConcreteCommand(){}
void AddtoUndoCommand(ICommand* cmd)
{
undoList.push_back(cmd);
}
void UndoCommand()
{
if (!undoList.empty())
{
vector<ICommand*>::iterator pos;
pos = undoList.end() - 1;
(*pos)->Undo();//提示我说使用了未定义类型“ICommand”
}
}
};
class ICommand
{
public:
ConcreteCommand* Invoker;
ICommand(){}
virtual void Execute()
{
}
virtual void Undo()
{
}
};
int main()
{
return 0;
}
#include <iostream>
#include <vector>
using namespace std;
class ICommand;
ICommand::ICommand(){}
ICommand::Execute(){}
ICommand::Undo(){}
class ConcreteCommand
{
public:
vector<ICommand*> undoList;
ConcreteCommand(){}
void AddtoUndoCommand(ICommand* cmd)
{
undoList.push_back(cmd);
}
void UndoCommand()
{
if (!undoList.empty())
{
vector<ICommand*>::iterator pos;
pos = undoList.end() - 1;
//(*pos)->Undo();
}
}
};
class ICommand
{
public:
ConcreteCommand* Invoker;
ICommand();
virtual void Execute();
virtual void Undo();
};
int main()
{
return 0;
}
class ICommand
{
public:
class ConcreteCommand* Invoker;
ICommand();
virtual void Execute();
virtual void Undo();
};
ICommand::ICommand()
{}
void ICommand::Execute()
{}
void ICommand::Undo()
{}
class ICommand; // 只是声明这是一个 class,有什么成员还不知道,只能定义指针类型 ICommand *
// 成员是没法访问的