Specificatori de acces

Specificatorii de acces controlează vizibilitatea membrilor unei clase.

SpecificatorAccesibil din
publicOricunde (din clasă, din exterior, din subclase)
privateDoar din interiorul clasei (implicit pentru class)
protectedDin clasă și din subclase (moștenire)
class BankAccount {
private:
  double sold;     // ascuns din exterior

public:
  BankAccount(double initial) : sold(initial) {}

  void depune(double suma) {
    if (suma > 0) sold += suma;
  }

  double getSold() const { return sold; }  // getter
};

BankAccount cont(1000);
cont.depune(500);
cout << cont.getSold() << endl;  // 1500
// cont.sold = 99999;  // EROARE — private!
struct are membrii public implicit; class îi are private implicit.