Feedback

C++ - Policy Pattern

Veröffentlicht von am 3/27/2008
(2 Bewertungen)
Demonstration des Policy Pattern
#include <iostream>
using namespace std;

template <class T>
class PlacementNewCreator {
public:
	static T *create() {
		void *buf = malloc(sizeof(T));
		if (!buf) return 0; 
		return new(buf) T;
	}
};

template <class T>
class NewCreator {
public:
	static T *create() {
		return new T;
	}
};

struct Vertex
{
	float x, y, z;
};

template 
<
	class CreationPolicy
> 
class VertexBuffer : public CreationPolicy
{ 
public:
	void AddVertex()
	{
		Vertex* v = CreationPolicy::create();
	}
};

typedef VertexBuffer< NewCreator<Vertex> > MyVertexBuffer;

void main()
{
	MyVertexBuffer x;
	x.AddVertex();

	system("pause");
}
Abgelegt unter Policy, Pattern.

2 Kommentare zum Snippet

Rainer Schuster schrieb am 4/1/2008:
ne kleien erklärung dazu wäre super, sonst gut dargestellt.
Vertexwahn schrieb am 4/3/2008:
Hier ein Vorlesungsskript: http://www4.informatik.uni-erlangen.de/Lehre/SS07/V_OSE/Skript/12-PolicyBased-2x2.pdf
 

Logge dich ein, um hier zu kommentieren!