Clase
Scope resolution operator
Principiile POO

Alte completări aduse de C++

Clase

Specificatorii de acces pot fi alternați

class employee { 
// private din oficiu
	char name[80]; 
public: 
// acestea sunt  publice
	void putname(char *n); 
	void getname(char *n); 
private: 
// acum din nou  private 
	double wage; 
public: 
// înapoi la public 
	void putwage(double w); 
	double getwage(); 
};
  1. Nu putem avea ca membri într-o clasă obiecte de tipul clasei (putem avea pointeri la tipul clasei)
  2. nu se folosește auto, extern, register

Scope resolution operator :: See here

:: Este folosit pentru a accesa un membru care aparține unui anumit namespace, clase, structură sau pentru a defini funcții în afara clasei.

class A{
public:
	void show();
};

class B{
public:
	void show();

void A::show() { // defines the method in A
	cout << "A" << endl;
}

void B::show() { // defines the method in B
	cout << "B" << endl;
}

Principiile POO

Încapsularea
Avem acces? Public Protected Private
Aceeași clasă da da da
Clase derivate da da nu
Alte clase da nu nu
Agregarea (ierarhia de obiecte)
class Profesor {
	string nume;
	int vechime;
};

class Curs { 
	string denumire;
	Profesor p;
};
Moștenirea (ierarhia de clase) See more
Polimorfisme
Șabloane (templates)