Пояснения и примери:

Поясненнията са в съвсем съкратен вид, и не трябва да се разглеждат като изчерпателен материал, а единствено като обяснение на по-съществените понятия, необходими за решаването на конкретните задачи.

  • Конструктори на класовете:

    Конструктура е специален метод, който се извиква автоматично при всяко създаване на обект от дадения клас. Конструктора е метода, който реализира създаването на обекта (т.е. изпълнява необходимите действия при заделянето на памет и т.н.). За всеки клас, компилатора автоматично създава конструктор по дефиниция, който да изпълнява тези действия. Освен това, програмиста може да добави други действия, които да се изпълняват при създаването на обект. Най често такива действия са свързани със задаване на стойности (инициализация) на данните на класа.

    Името на конструктора задължително трябва да съвпада с името на класа. При това програмиста не задава типа на връщаната от конструктора стойност.

    Нека за пример използваме отново класа drob. Ако искаме при всяко създаване на обект от тип drob да се създава дробта 1/1, то ще добавим следния конструктор.

    class drob {
    	int ch;	//числителя на дробта
    	int zn;	//знаменателя на дробта
    public:
    	read_drob();	//метод за въвеждане на дроб от клавиатурата
    	print_drob();	//метод за изписване на дроб на екрана
    	drob();		//конструктор на класа дроб
    };
    //дефиниция на конструктора drob():
    drob::drob() {
    	cout<<"Syzdava se drob 1/1 !"<<endl;
    	ch=1;
    	zn=1;
    }
    

    Добре би било при всяко създаване на обект от тип drob да се подсигурим, че знаменателя ще е число различно от нула.