Η δημιουργία προτύπων-τάξεων στον αντικειμενοστραφή προγραμματισμό, και το πως τα δημιουργείς αυτά, αποτελεί το μέτρο αντίληψης και κατανόησης ενός προγραμματιστή του αντικειμένου με το οποίο ασχολείται. Η C++ είναι μια γλώσσα ισχυρή με αρκετή γραφεικρατία. Παραθέτω παράδειγμα προτύπου: αρχικά το αρχείο header(ofball.h) που αποτελέι την επιφάνεια διάδρασης(interface) του προτύπου.
#ifndef _of_ball // by using this if statement you
// prevent the class to be called more
// than once - in other words
// what we're saying here is
#define _of_ball //if the class has not been defined then define it
#include "ofmain.h"
class ofball {
public:
// methods-μηνύματα
void update();
void draw();
//constructor-αντικείμενα
ofball(float x, float y, int dim);
// variables-μεταβλητές
float x;
float y;
int dim;
float speedx;
float speedy;
private:
};//don't forget the semicolon in the end of the class definition
#endif
και, στη συνέχεια το cpp (ofball.cpp) αρχείο στο οποίο γίνοται οι πράξεις
#include "ofball.h" ofball::ofball(float _x, float _y, int _dim) { x = _x; y = _y; dim = _dim;
speedx = ofrandom(-1, 1); speedy = ofrandom(-1, 1); } void ofball::update(){ if(x < 0 ){ x = 0; speedx *= -1; } else if(x > ofgetwidth()){ x = ofgetwidth(); speedx *= -1; } if(y < 0 ){ y = 0; speedy *= -1; } else if(y > ofgetheight()){ y = ofgetheight(); speedy *= -1; }
x+=speedx; y+=speedy; } void ofball::draw(){ ofsetcolor(120,120,120); ofcircle(x, y, dim); }
Η συνάρτηση ~ofball() {} ονομάζεται destructor (καταστροφέας) και καλέιται αυτόματα όποτε χρειαστεί η καταστροφή του ατικειμένου της κλάσης ofball. Ο destructor είναι μοναδικός και δεν παίρνει ορίσματα. Αν δεν τον ορίσει ο χρήστης τον ορίζει ο compiler (μεταφραστής). Για να σβήσεις ένα αντικείμενο που το έχεις δημιουργήσει μέσω new: delete objname; link