Креирање пројекта у програмском језику C++

Да би класа исправно могла да се користи, односно да би могли да се исправно креирају објекти класе мора да постоји посебна метода, односно функција чланица која се назива конструктор.

Функција чланица која носи исто име као и класа назива се конструктор. Ова функција позива се приликом креирања објекта те класе. Конструктор нема тип који враћа и може да има аргументе произвољног типа. Унутар конструктора, члановима објекта приступа се као и у било којој другој функцији чланици. Конструктор се увек имплицитно позива при креирању објекта класе, односно на почетку животног века сваког објекта дате класе. Конструктор, као и свака функција чланица, може бити преклопљен, односно може се дефинисати више различитих конструктора који се позивају са различитим бројем аргумената. Конструктор који се може позвати без стварних аргумената (нема формалне аргументе или има све аргументе са подразумеваним вредностима) назива се подразумеваним конструктором.

Дефинисање конструктора је слично као и за друге методе, али нема тип који враћа и мора имати исто име као и класа:

ime_klase (argumenti); // прототип конструктора
ime_klase (argumenti) {telo konstruktora} // дефиниција конструктора

Када радимо са класама неопходан је фајл – заглавље у коме ћемо дефинисати класу (обично има исто име као класа), а то је фајл са наставком .h. Методе (укључујући и конструктор) могу бити дефинисани у овом заглављу, или у посебном фајлу са наставком .cpp (и овај фајл обично има исто име као класа). Да би се сви фајлови који чине наш програм – класа, дефиниција метода класе и главни програм могли исправно користити – преводити и покретати неопходно је користити тзв. пројекте.

На следећем примеру објаснићу креирање пројекта у програмском језику C++ у развојном окружењу CodeBlocks.

Пример: Пројектовати на језику C++ класу тачака у равни. Предвидети стварање тачке са задатим координатама, дохватање координата, израчунавање растојања до задате тачке, читање тачке и писање тачке. Саставити на језику C++ главни програм за приказивање могућности те класе.

– у програму CodeBlocks покренути креирање новог пројекта File → New → Project

пројекат1

– одабрати Console Application и потврдити са GO

пројекат2

– кликнути Next

пројекат3

– одабрати C++, па кликнути Next

пројекат4

– у поље Project title уписати име пројекта (рецимо tacka, пошто радимо са класом tacka), а у поље Folder to create project in дефинисати фолдер у коме ћемо да радимо, и кликнути Next

пројекат5

– кликнути Finish

пројекат6

– сада додајемо фајлове у наш пројекат: File→New→Empty file, па кликнути Yes

пројекат7

– дефинишемо фајл загавља – уписујемо име tacka.h и кликнемо Save

пројекат8

и у следећем прозорчићу кликнемо OK

пројекат9

– у овај фајл уписујемо следеће линије кода:

// tacka.h definicija klase tacaka u ravni
 #include<cmath>
 #include<iostream>
 using namespace std;
 class Tacka
 {
 double x,y; // koordinate
 public:
     Tacka(double a=0,double b=0){x=a;y=b;} // konstruktor
 void tacka (double a, double b){x=a;y=b;} //postavljanje koordinata, stvaranje tacke
 double aps() const {return x;} // dohvatanje apscise (x osa)
 double ord() const {return y;} // dohvatanje ordinate (y osa)
 double rastojanje(Tacka t) const // rastojanje do tacke
 { return sqrt(pow(x-t.x,2)+pow(y-t.y,2)); }
 void citaj() {cin>>x>>y;} //citanje tacke
 void pisi() const { cout<<'('<<x<<", "<<y<<')'; } //pisanje tacke
 };

пројекат10

– ово је једноставна класа, методе су такође једноставне, па су све дефинисане у самом фајлу заглавља

– за главни програм користимо већ креиран фајл main.cpp (у левом делу прозора, под ставком sources пронаћи фајл main.cpp и отворити га). У њему искуцати следеће линије кода:

// ispitivanje klase tacaka
 #include"tacka.h"
 #include<iostream>
 using namespace std;
 int main()
 {
 cout<<"t1? "; Tacka t1; t1.citaj(); //unosenje tacke t1 pomocu metode citaj
 cout<<"t2? "; double x,y; cin>>x>>y;
 Tacka t2; t2.tacka(x,y); // formiranje tacke t2 pomocu metode tacka
 cout<<"t1=";t1.pisi();cout<<", t2=("<<t2.aps()<<", "<<t2.ord()<<')'<<endl;
 // t1 pisemo pomocu metode pisi, t2 pisemo pomocu funkcije cout
 cout<<"rastojanje="<<t1.rastojanje(t2)<<endl;
 return 0;
 }

пројекат11

– када је пројекат комплетно завршен, сачувати СВЕ фајлове File→Save All Files, па покренути компаjлирање (али мора бити активан прозор main.cpp), па када нема грешака покренути га са Run.

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s