Design Patterns Explained C++ Code Examples - Chapter 7: The Adapter Pattern

Example 7-1: Implementing the Adapter Pattern

TOC

Shape

TOP
Shape.h
#pragma once

class Shape
{
public:
    Shape(void);
    void virtual display()= 0;
public:
    ~Shape(void);
};
Shape.cpp
#include "Shape.h"

Shape::Shape(void)
{
}

Shape::~Shape(void)
{
}

Circle

TOP
Circle.h
#pragma once
#include "Shape.h"
#include "XX_Circle.h"

class Circle : public Shape
{
public:
    Circle(XX_Circle *xxCircle);
    void display();
public:
    ~Circle(void);
private:
    XX_Circle *myXX_Circle;
};
Circle.cpp
#include "Circle.h"

Circle::Circle(XX_Circle *xxCircle)
{
    myXX_Circle = xxCircle;
}

Circle::~Circle(void)
{
    delete myXX_Circle;
}

void Circle::display()
{
    myXX_Circle->displayIt();
}

XX_Circle

TOP
XX_Circle.h
#pragma once

class XX_Circle
{
public:
    XX_Circle(void);
    void displayIt();
public:
    ~XX_Circle(void);
};
XX_Circle.cpp
#include "XX_Circle.h"

XX_Circle::XX_Circle(void)
{
}

XX_Circle::~XX_Circle(void)
{
}

Upcoming Events