Wywoływanie obiektu
Ostatnio zmodyfikowano 2015-04-01 16:21
kogut52 Temat założony przez niniejszego użytkownika |
Wywoływanie obiektu » 2015-04-01 15:56:49 Witam chcialbym wywalowac obiekt z klasy GNR w pliku main tyle ze wywolujac funkcje mam problem z przekzaniem jej argumentu a dokladnie rzecz ujmujac w gnr.cpp mam funkcje: void wyznaczanie_najwiekszego_natezenia(vector<float>tab_natezenie_kwadranse),gdzie vector<float>tab_natezenie_kwadranse tez jest zadeklarowany w klasie. i teraz moje pytanie jak wywowac ta funkcje w main.w razie czego zamieszczam kod. #ifndef GNR_H #define GNR_H #include<iostream> #include<stdio.h> #include<cmath> #include<vector> using namespace std;
class GNR { public: GNR(); void wczytywanie_tab_czas( vector < int > tab_czas ); void wczytywanie_tab_inf( vector < int > tab_inf ); void wyznaczanie_natezenia( vector < float > tab_natezenie, float sredni_czas, vector < int > tab_inf ); void wyznaczanie_sredniego_czasu( vector < int > tab_czas, float sredni_czas ); void wyznaczanie_srednich_natezen_kwadrans( vector < float > tab_natezenie, vector < float > tab_natezenie_kwadranse ); void wyznaczanie_najwiekszego_natezenia( vector < float > tab_natezenie_kwadranse ); public: float sredni_czas; vector < float > tab_natezenie; vector < float > tab_natezenie_kwadranse; vector < int > tab_inf; vector < int > tab_czas; };
#endif
include < iostream > #include"gnr.h" #include<stdio.h> #include <cmath> using namespace std;
int main() { int numer; cout << "program badajacy GNR wedlug okreslonych algorytmow:" << endl; cout << " 1- TCBH,2-ADPFH,3-ADPQH,4-FDMP,5-FDMH,6-pomoc"; cin >> numer; switch( numer ) { case 1: { cout << "wybrales algorytm TCBH"; break; } case 2: { cout << "wybrales algorytm ADPFH"; break; } case 3: { cout << "wybrales algorytm ADPQH"; GNR Funkcja_Natezenie_Max; Funkcja_Natezenie_Max.wyznaczanie_najwiekszego_natezenia(); break; } case 4: { cout << "wybrales algorytm FDMP"; break; } case 5: { cout << "wybrales algorytm FDMH"; break; } case 6: cout << "POMOC!!"; cout << "Ponizej opisane sa wszystkie algorytmy uzywane w zadaniu" << endl; cout << "******************************************************************************" << endl; cout << " 1:: TCBH :usredniona w czasie GNR – jest to jednogodzinny" << endl; cout << "przedzial czasu rozpoczynajcym sie kadego dnia w tym samym momencie" << endl; cout << " w którym to przedziale srednie natezenie ruchu usrednione w rozpatrywanym" << endl; cout << "szeregu dni jest najwiksze.Skrótem TCBH nazywa sie równiez natezenie" << endl; cout << "ruchu wystepujacego w formie usrednionejacej w czasie GNR." << endl; cout << "******************************************************************************" << endl; cout << "2:: ADPH : Srednie natezenie ruchu z dobowych GNR -" << endl; cout << " jest to natezenie ruchu obliczone (usrednione) z dziennych GNR szeregu dni:" << endl; cout << "zwykle GNR poszczególnych dni nierozpoczyna sie w tym samym momencie." << endl; cout << "ADPH wylicza sie zazwyczaj z 10 dni roboczych" << endl; cout << "*******************************************************************************" << endl; cout << "FDMP-Dzięki tej metodzie pomiary są dokonywane w terminie ustalonym " << endl; cout << "(np 3 godziny ) każdego dnia . Okres ten powinna odpowiadać " << endl; cout << "najwyższej części profilu ruchu, która ma zawierać TCBH .Pomiary" << endl; cout << "Wartości są gromadzone oddzielnie dla każdego kwadransa , anajbardziej" << endl; cout << "ruchliwych godzin ustala na koniec" << endl; cout << "********************************************************************************" << endl; cout << "FDMH-Dzieki tej metodzie pomiary dokonywane sa np godzine kazdego dnia przy " << endl; cout << "najwiekszym ruchu,metoda jest malo skuteczna bo nie obejuje zazwyczaj calego" << endl; cout << "ruchu,tz zazwyczaj obejmuje okolo 90%" << endl; } return( 0 ); }
|
|
Fireho |
» 2015-04-01 16:03:33 Nie musisz wpisywać pól klasy do listy argumentów. Zmień deklarację funkcji z void wyznaczanie_najwiekszego_natezenia( vector < float > tab_natezenie_kwadranse ); na void wyznaczanie_najwiekszego_natezenia(); , a w kodzie metody i tak będziesz mógł normalnie używać pól. |
|
kogut52 Temat założony przez niniejszego użytkownika |
» 2015-04-01 16:21:46 jeszcze jedno pytanie. Np jezeli chce wywowac funkcje wyznacznie_najwiekszego_natezenia a jest ona zalezna od poprzednich funkcji tz bez informacji z wczesniejszych funkcji ona nie dziala to znaczy ze przy wywowlywaniu programu bede musial wywowal wszystkie wczesniejsze funkcje czy popsotu one wywolaja sie w tle?? |
|
« 1 » |