Реализации на С++
Abstract factory
Общая реализация на языке С++
class BaseGraphics
{
public:
virtual ~BaseGraphics() = 0;
};
BaseGraphics::~BaseGraphics() {}
class QtGraphics : public BaseGraphics
{
public:
QtGraphics(shared_ptr<Image> im)
{
cout << "Calling the QtGraphics constructor;" << endl;
}
~QtGraphics() override
{
cout << "Calling the QtGraphics destructor;" << endl;
}
};
# include <iostream>
# include <memory>
using namespace std;
int main()
{
shared_ptr<AbstractGraphFactory> grfactory = make_shared<QtGraphFactory>();
unique_ptr<User> us = make_unique<User>();
us->use(grfactory);
}
Last updated
Was this helpful?