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

Czemu to nie działa - metoda klasy?

Ostatnio zmodyfikowano 2012-09-06 16:45
Autor Wiadomość
adam85
Temat założony przez niniejszego użytkownika
Czemu to nie działa - metoda klasy?
» 2012-09-06 13:49:21
C/C++
class oblicz
{
protected:
    int a, b, h;
public:
    oblicz( int bok, int bbok, int wysokosc )
        : a( bok )
        , b( bbok )
        , h( wysokosc )
    { };
    int objetosc()
    {
        return( a * b * h / 1000 );
    }
    void wyswietll()
    {
        cout << objetosc;
    }
   
   
   
};


Wyskakują mi błędy, ktoś pomoże?? i jak zrobić żebym wszystkie boki podawał z klawiatury po odpaleniu programu. Wiem, ze to banały i z góry przepraszam za mój brak wiedzy.
P-64431
m4tx
» 2012-09-06 13:59:01
Wyskakują mi błędy, ktoś pomoże??
1. Nie licz na to dopóki nie powiesz, jakie to błędy. :)
2. Podejrzewam, że chodzi o "cout". Zapewne nie masz
using namespace std;
 (co też nie jest zbyt dobrym rozwiązaniem, ale to inna sprawa), ale to tylko domniemania.
3. Formatowanie kodu: » Kurs STC » Kolorowanie składniKolorowanie składni języka C++ lekcja
P-64432
kubawal
» 2012-09-06 14:24:33
cout << objetosc;
 to nie zadziała. Wywołanie funkcji tam ma być, inaczej ci wyświetli adres.
cout << objetosc();
P-64433
adam85
Temat założony przez niniejszego użytkownika
» 2012-09-06 14:49:05
C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

class oblicz
{
protected:
    int a, b, h;
public:
    oblicz( int bok, int bbok, int wysokosc )
        : a( bok )
        , b( bbok )
        , h( wysokosc )
    { };
    int objetosc( int x, int y, int z )
    {
        return( a * b * h / 1000 );
    }
    void wyswietll()
    {
        cout << objetosc( a, b, h ) << endl;
    }
    void wprowadz( int x, int y, int z )
    {
        a = x;
        b = y;
        h = z;
        cout << "teraz policzymy objetosc twojego projektu : " << endl;
        cout << "wprowadz bok 1 : ";
        cin >> a;
        cout << "wprowadz bok 2 : ";
        cin >> b;
        cout << "wprowadz bok 3 : ";
        cin >> h;
       
    }
   
    ~oblicz() { };
};

class audio
{
protected:
    int spl;
    int moc;
    string model;
public:
   
    audio( int s, int m, string mo )
        : spl( s )
        , moc( m )
        , model( mo )
    { };
};

class audio2
    : audio
{
   
public:
    audio2( int spl, int moc, string model )
        : audio( spl, moc, model )
    { };
    void wprowadz()
    {
        cout << "Podaj model: " << endl;
        cin >> model;
        cout << "Podaj moc: " << endl;
        cin >> moc;
        cout << "podaj spl: " << endl;
        cin >> spl; }
   
    void wyswietl()
    {
        cout << "SPL(dB) : " << spl << endl << "MOC(RMS) :  " << moc << endl << "MODEL : " << model << endl;
    }
   
   
};

int main()
{
    int x, y, z;
    audio2 a( 0, 0, "" );
    a.wprowadz();
    a.wyswietl();
    oblicz skrzynke( x, y, z );
    skrzynke.wprowadz( x, y, z );
    skrzynke.objetosc( x, y, z );
    skrzynke.wyswietll();
   
   
    system( "pause" );
   
   
    return 0;
}
Mam taki zmyślony program, co można w nim usprawnić i jak tu dorzucić referencje, wskaźniki, może coś jeszcze? Uczę się do egzaminu.. im więcej tym lepiej.
P-64435
RazzorFlame
» 2012-09-06 14:55:42
No to daj kod pomiędzy znaczniki
[cpp] i [/cpp]
P-64436
DejaVu
» 2012-09-06 15:31:14
C/C++
int objetosc( int x, int y, int z )
{
    return( a * b * h / 1000 );
}
Powyższa metoda nie ma najmniejszego sensu :)
P-64438
RazzorFlame
» 2012-09-06 15:53:14
Zgodze się. Po co w funkcji masz 3 argumenty jak ani jednego z nich nie używasz?
P-64439
adam85
Temat założony przez niniejszego użytkownika
» 2012-09-06 16:12:04
Tylko jak je wykasuje program nie działa, nie kompiluje się. Wcześniej miałem to inaczej rozwiązane, ale wynik wychodził cały czas zero. W związku z tym może zaproponujecie jak to zrobić, że by działało i miało sens;-)
P-64440
« 1 » 2
  Strona 1 z 2 Następna strona