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

Zmiana wartości zmiennej poprzez konstruktor w funkcji zaprzyjaźnionej

Ostatnio zmodyfikowano 2015-11-18 19:09
Autor Wiadomość
radek024
Temat założony przez niniejszego użytkownika
Zmiana wartości zmiennej poprzez konstruktor w funkcji zaprzyjaźnionej
» 2015-11-18 18:42:06
Witam, mam problem związany z losowaniem/wpisywaniem nowej wartości dla właściwości klasy w kontruktorze. Uczę się funkcji zapryzjaźnionych i chcę napisać pianino, które ma wspólną funkcję grającą nuty. 
C/C++
#include <iostream>
#include <cstdlib>
#include <windows.h>
#include <ctime>
using namespace std;

class Pianista;

class Piano
{
    int nuta;
   
public:
    Piano()
    {
        nuta = 15000;
    }
   
    Piano( char zklaw )
    {
        cout << "Podaj czestotliwosc zagranego dzwieku: "; cin >> nuta;
    }
   
    Piano( string losowanko )
    {
        nuta = rand() % 700 + 250;
    }
   
    friend void grajnuty( Piano & forte, Pianista & radek );
};

class Pianista
{
    int ilnut;
   
public:
    Pianista()
    {
        ilnut = 20;
    }
   
    Pianista( char zklaw )
    {
        cout << "Podaj ilosc zagranych dzwiekow: "; cin >> ilnut;
    }
   
    Pianista( int losuj )
    {
        ilnut = rand() % 50 + 1;
        cout << "Zagranych zostanie " << ilnut << " nut." << endl;
    }
   
   
   
   
    friend void grajnuty( Piano & forte, Pianista & radek );
};

void grajnuty( Piano & granie, Pianista & radek )
{
    cout << "Ilosc nut: " << radek.ilnut << endl;
    for( int i = 0; i < radek.ilnut; i++ )
    {
        Beep( granie.nuta, 1000 );
        cout << "czestotliwosc: " << granie.nuta << endl;
    }
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main( int argc, char ** argv ) {
    srand( time( NULL ) );
    Piano forte = Piano( "losuje" );
    Pianista radek = Pianista( 1 );
    grajnuty( forte, radek );
    return 0;
}

Ktoś może mi powiedzieć, jak mogę zrobić losowanie/wpisywanie nowej wartości pod właściwość nuta w klasie Piano? Wiem czemu nie działa(wartość jest przypisywana wyłącznie raz przy uruchomieniu konstruktora), ale nie mam pojęcia jak to naprawić.
P-140339
michal11
» 2015-11-18 19:09:53
Dopisz metodę która będzie ci ustawiała konkretną wartość.
P-140342
« 1 »
  Strona 1 z 1