Inicializimi i objekteve me konstruktor
Nese duam qe nje anetar te dhenash te marre vlere fillestare qe ne momentin e krijimit te objektit do te perdorim funksionin "konstruktor".
Cdo klase mund te permbaje nje funksion "konstruktor" i cili inicializon objektet qe ne momentin e krijimit.
Konstruktori eshte nje funksion anetar i vecante qe ka te njejtin emer me klasen dhe nuk ka tip kthimi (madje as void).
Thirrja e konstruktorit behet automatikisht ne momentin e krijimit te objektit.
Nese ne nuk ndertojme nje konstruktor cdo klase permban nje "default constructor" i cili nuk ka parametra dhe u vendos anetareve te te dhenave vlerat default.
Trupi i konstruktorit permban instruksione qe u japin vlere anetareve te te dhenave nepermjet funksionit set (ose direkt).
p.sh:
GradeBook( string name )
{
setEmriKursit( name ); // ose emriKursit = name;
} //fund konstruktori
Ne momentin e krijimit te objektit pas emrit te objektit vendosen ne kllapa argumentat sipas tipeve perkates. (Nese ka me shume se 1 ndahen me presje)
psh:
GradeBook libri1("CS101 Hyrje ne C++ Programming");
Shembull:
/* Krijimi i shume objekteve nga klasa GradeBook dhe perdorimi i konstruktorit GradeBook per te specifikuar
emrin e kursit per cdo objekt te krijuar*/
#include <iostream>
using namespace std;
class GradeBook
{
public:
// Konstruktori inicializon emriKursit me nje string te kaluar si argument.
GradeBook( string emri )
{
setEmriKursit( emri ); // thirret funksioni set per inicializimin e emriKursit
} //fund konstruktori
void setEmriKursit( string emri )
{
emriKursit = emri; // ruan emrin e kursit ne objekt
}
string getEmriKursit()
{
return emriKursit; // kthen emriKursit te objektit
}
void afishoMesazh()
{
cout << "Mirsevini ne librin e notave per\n"
<< getEmriKursit()<< "!" << endl;
}
private:
string emriKursit;
};
/**************************************************/
int main()
{
GradeBook libri1( " Code For Students - C++ ");
GradeBook libri2( " Code For Students - JAVA " );
cout<< "libri1 u krijua per kursin: "
<< libri1.getEmriKursit()
<< "\nlibri2 u krijua per kursin: "
<< libri2.getEmriKursit()
<< endl;
string s1;
cout<<"Jepni emrin e kursit: ";
cin>>s1;
libri1.setEmriKursit(s1);
cout<<"Kursi qe dhate eshte: "<<libri1.getEmriKursit()<<endl;
system("pause");
return 0;
}
Afishon:
libri1 u krijua per kursin: Code For Students - C++
libri2 u krijua per kursin: Code For Students - JAVA
Jepni emrin e kursit: Programim
Kursi qe dhate eshte: Programim
Press any key to continue . . .