Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wywoływanie obiektu

Ostatnio zmodyfikowano 2015-04-01 16:21
Autor Wiadomość
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.
C/C++
#ifndef GNR_H
#define GNR_H
#include<iostream>
#include<stdio.h>
#include<cmath>
#include<vector>
using namespace std;

class GNR
{
public:
    GNR(); //domyslny konstruktor
   
    void wczytywanie_tab_czas( vector < int > tab_czas ); //funkcja wczytujaca czas do vectroa
    void wczytywanie_tab_inf( vector < int > tab_inf );
    void wyznaczanie_natezenia( vector < float > tab_natezenie, float sredni_czas, vector < int > tab_inf ); //funkcja wyznaczajaca natezenie w sieci
    void wyznaczanie_sredniego_czasu( vector < int > tab_czas, float sredni_czas ); //funkcja wyznaczajaca sredni czas dostepu
    void wyznaczanie_srednich_natezen_kwadrans( vector < float > tab_natezenie, vector < float > tab_natezenie_kwadranse ); //wyznaczanie natezen w kazdym kwadransie doby
    void wyznaczanie_najwiekszego_natezenia( vector < float > tab_natezenie_kwadranse ); //znajdowanie najwiekszego natezenia
public:
    float sredni_czas; //sredni czas ktory obliczmy z tabeli vector
    vector < float > tab_natezenie; //tabela pokazujaca natezenie ruchu
    vector < float > tab_natezenie_kwadranse; //tabela pokazujaca natezenie w danych kwadransach
    vector < int > tab_inf; //vector szczytujacy czas z pliku czas
    vector < int > tab_czas; //vector szczytujacy czas z pliku czas
   
};

#endif // GNR_H
C/C++
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 );
}
P-129796
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.
P-129802
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??
P-129806
« 1 »
  Strona 1 z 1