mam jedną pytanie , nie mogę stworzyć takiej techniki ,aby móc ..... [???] od razu podam co chcę robić będzie jasnej . mam 4 klasy,TV, DVD, radio i pilot. klasy TV DVD i radio mają swoje metody i działania,główniej chodzi mi o to że wszystkie te klasy mają privatach int głos,i int kanal.a ich metody publiczne mogą tylko zmieniać głos i kanał tylko po 1ym poziome . tak jak przy użyciu void zmien_kanal {++kanal;} a pilot może zmienić np od razu z 5-ego do 9 ego kanału. pytanie w tym, jak mam metodę kombinować , żeby gdy wołam w pilocie zmien_glos() (albo zmien_kana()) ono widziało z klas wyżej wymienionych którego onoff jest true, i zmienił tego głos ?. czy powinienem dla każdego deklarować osobno,np tak void pilot::DVD::zmien_glos() i dla radia void pilot::zmienglos();? chyba raczej nie.trzeba użyć jakiegoś szablonu albo nie wiem jakoś pilot::T::zmien_glos() ,a ten T oznaczy
<klasa z="z" onoffem="onoffem" true="true">. proszę o pomoc.
#include<iostream>
using namespace std;
class pilot;
class TV
{
private:
bool onoff;
int kanal;
int glos;
public:
friend class pilot;
TV(){onoff=true,kanal=0,glos=10;}
TV(bool ){onoff=false,kanal,glos;}
~TV(){}
void zmien_glos(){++glos;}
void zmien_kanal(){++kanal;}
void pokaz();
};
class DVD
{
private:
bool onoff;
bool play;
int piosenka;
int glos;
public:
friend class pilot;
DVD(){onoff=true,play=true,piosenka=0,glos=0;}
DVD(bool){onoff=false,play=false,piosenka,glos;}
~DVD(){};
void Play();
void zmien_glos(){++glos;}
void zmien_pios(int je){piosenka+=je;}
void pokaz();
};
class radio
{
private:
bool onoff;
double kanal;
int glos;
public:
friend class pilot;
radio(){onoff=true,kanal,glos;}
radio(bool ){onoff=false,kanal,glos;}
~radio(){}
void zmien_glos(){++glos;}
};
class pilot
{
private:
class TV;class DVD;class radio;
int przyciski;// te od 0 do 9
int glosowe;// ten od volume + -
public:
};
Dziękuję.