Anetaret e te dhenave, funksionet get dhe set.
Variablat qe deklarohen brenda funksionit quhen variabla lokalë dhe mund te njihen vetem brenda funksionit.
Ndonjehere eshte e nevojshme qe te gjithe funksionet anetare te manipulojne te njejtat te dhena. Te dhenat qe mund te perdoren nga te gjithe funksionet i deklarojme si variabla jashte cdo funksioni.
Atributat(vecorite) e nje objekti mund te deklarohen si variabla brenda deklarimit te klases. Keto variabla quhen anetare te dhenash dhe deklarohen jashte funksioneve anetare.
Cdo objekt (instance e klases ) mban kopjen e tij te atributeve ne memorje.
Shembulli i klases GradeBook i modifikuar ne menyre te tille qe emri i kursit te ndryshohet ne cdo ekzekutim duke e dhene ate nga tastiera.
Klasa permban dy funksionet get() dhe set().
Funksioni get() perdoret per te marre vleren e anetarit te te dhenave (atributit te objektit).
Ky eshte nje funksion qe kthen vlere dhe nuk merr parametra.
Forma e pergjithshme e funksionit get_anetari()
tipi_anetarit get_anetari()
{
return anetari;
}
Funksioni set() perdoret per te vendosur nje vlere te re ne anetarin e te dhenave.
Ky eshte nje funksion qe nuk kthen vlere por merr nje parameter.
Forma e pergjithshme e funksionet set_anetari()
void set_anetari ( tipi_anetarit parametri)
{
anetari = parametri;
}
Cdo funksion anetar i klases mund te manipuloje anetaret e te dhenave .
private – access specifier qe tregon se keta anetare mund te perdoren vetem nga anetaret e kesaj klase perndryshe kemi gabim sintakse.
Kjo quhet fshehje e te dhenave.
Shembull:
/* Ndertimi i klases GradeBook qe mban nje anetar te dhenash per emrin e
kursit dhe funksionet anetare get dhe set per te marre dhe per te vendosur vleren e tij; */
#include <iostream>
#include <string>
using namespace std;
// deklarimi i klases
class GradeBook
{
private: // mund te aksesohet vetem nga funksionet anetare te klases
string emriKursit; // emri i kursit per kete klase GradeBook
public:
// funksioni qe vendos emrin e kursit
void setEmriKursit( string emri )
{
emriKursit = emri; // ruan emrin e kursit ne objekt
}
// funksioni qe jep emrin e kursit
string getEmriKursit()
{
return emriKursit; // kthen emrin e kursit te objektit
}
// funksioni qe shfaq mesazhin e pershendetjes
void afishoMesazh()
{
cout << "Mirsevini ne librin e notave per kursin:\n"
<< getEmriKursit() << "!"<< endl;
}
};
/******************************************/
int main()
{
string emri_I_Kursit; // string karakteresh qe ruan emrin e kursit
GradeBook libri1; // rijohet objekti libri1
// shfaq vleren fillestare te emriKursit
cout << "Vlera fillestare e emriKursit: "
<< libri1.getEmriKursit() << endl;
cout << "\nJepni emrin e kursit:"
<< endl;
getline( cin, emri_I_Kursit ); // lexon emrin e kursit me hapesira
libri1.setEmriKursit( emri_I_Kursit ); // vendos emrin e kursit
cout << endl; // rresht bosh
libri1.afishoMesazh(); // afishon mesazhin me emrin e ri te kursit
system("pause");
return 0;
}
Afishon:
Vlera fillestare e emriKursit:
Jepni emrin e kursit:
Code for Students
Mirsevini ne librin e notave per kursin:
Code for Students!
Press any key to continue . . .
Vihet re se ne momentin e krijimit libri1 nuk ka vlere fillestare.