Professional Documents
Culture Documents
Employee Inline: Laboratoriuli Samusao 3 Tema: Klasis Metodebis Gansazrvra Klasis Garet
Employee Inline: Laboratoriuli Samusao 3 Tema: Klasis Metodebis Gansazrvra Klasis Garet
klasis meTodebi
klasi programas saSualebas aZlevs obieqtis monacemebi da obieqtis funqciebi (meTodebi),
romlebic operireben am monacemebiT, dajgufebul iqnas erT cvladSi. Cven gvaqvs obieqtis
meTodebis gansazRvris ori SesaZlebloba. pirveli – funqciis mTeli kodi SeiZleba CarToT klasis
gansazRvris SigniT. SeiZleba es moxerxebulad mogveCvenos, magram rodesac klasebi
rTuldeba da moicavs ramdenime meTods, funqciis operatorebma SeiZleba uwesrigoba Seitanos
klasis gansazRvraSi. amdenad umetesoba programebSi funqcia ganisazRvreba klasis gareT.
klasis gansazRvraSi unda iyos funqciis prototipi, romelic Seicavs funqciis saxels, dasabrunebeli
mniSvnelobis tips da parametrebis tipebs. klasis gareT funqciis gansazRvra zogadad
gamoiyureba Semdegi saxiT:
return_type class_name::function_name(parameters)
{ // operatorebi }
ganvixiloT magaliTi
programa qmnis dog klass, romelic Seicavs ramdenime monacems da show_breed
funqcias. funqcia gansazRvrulia klasis gareT. Semdeg programa qmnis dog tipis or obieqts da
gamoitans informacias calkeuli ZaRlis Sesaxeb:
#include <iostream.h>
#include <string.h>
#include<stdlib>
class dogs
{
public:
string breed;
int average_weight;
int average_height;
void show_breed(void) ;
};
void dogs::show_breed(void)
{
cout << "jishi: " << breed << endl;
cout << "sashualo cona: " << average_weight << endl;
cout << "sashualo simagle: " << average_height << endl;
}
void main(void)
{
dogs happy, matt;
happy.breed= "dalmatineli" ;
happy.average_weight = 58;
happy.average_height = 24;
matt.breed= "kolli";
matt.average_weight =22;
matt.average_height = 15;
happy.show_breed() ;
matt.show_breed();
system(“pause”);
}
am programaSi gamoyenebulia Wde public, romelic klasis elementebs misawvdoms
gaxdis mTeli programisaTvis.
daskvna:
mocemuli masalis Seswavlis Sedegad Tqven unda icodeT, rom:
obieqti warmoadgens arsebas, romelTan mimarTebiT Tqveni programa asrulebs sxvadasxva
operacias;
programa C++ enaze warmoadgens obieqtebs, romelic gadmocemulia klasebis meSveobiT;
klasi struqturis msgavsad Seicavs elementebs. klasis elementebi SeiZleba iyos monacemebi
an funqciebi (meTodebi), romlebic operireben am monacemebiT;
calkeul klass aqvs unikaluri saxeli;
klasis gansazRvris Semdeg Tqven SegiZliaT gamoacxadoT am klasis obieqtebi, sadac
gamoiyenebT klasis saxels tipis saxiT;
klasis elementebze mimarTvisaTvis (rogorc monacemebze, aseve funqciebze) Tqveni
programebi gamoiyeneben operator wertils;
funqcia SeiZleba ganisazRvros klasis SigniT an gareT. Tu funqcias gansazRvravT klasis
gansazRvris gareT, unda miuTiToT klasis saxeli da globaluri nebarTvis saxeli, magaliTad:
class:: function.
{
public:
string name;
int age;
void move() {
cout << name << " is moving"<< endl;
}
};
int main()
{
Person person;
person.name = "Tom";
person.age = 22;
cout << "Name: " << person.name << "\tAge: " << person.age << endl;
person.move();
return 0;
}
შედეგი:
Tom is moving
კოდში შეიტანეთ შემდეგი ცვლილება: move() ფუნქციის პროტოტიპი გამოაცხადეთ კლასის
შიგნით, ხოლო თვით ფუნქცია განსაზღვრეთ კლასის გარეთ.