Witam, mam problem z "enum". Mianowicie muszę napisać klasę, która reprezentuje numer telefonu i spełnić kilka wymagań:
- nr telefonu ma być opisywany przez enumerację typu numeru (komórkowy, domowy, służbowy), numer kierunkowy kraju (dwie cyfry) oraz numer właściwy (od jednej do dziesięciu cyfr),
-klasa ma być wyposażona w konstruktor parametryczny umożliwiający ustawienie wszystkich parametrów numeru,
-klasa ma posiadać metodę zwracającą typ numeru telefonu w formie tekstowej,
-klasa ma posiadać metodę zwracającą liczbowo numer kierunkowy kraju,
-klasa ma posiadać metodę zwracającą liczbowo numer telefonu.
Problem polega na wymaganiu zaznaczonym czerwonym kolorem. Poniżej wstawiam swój kod, wydaje mi się, że wszystko jest okej oprócz zwrócenia enuma, czy ma ktoś jakiś pomysł ?
Dodam, że dopiero poznaję obiektówkę.
#include <iostream>
#include <stdio.h>
#include <conio.h>
enum typ_numeru
{
domowy = 1,
komorkowy = 2,
sluzbowy = 3
};
class NumerTelefonu
{
private:
enum typ_numeru jaki;
int nr_kierunkowy,nr_numer;
public:
NumerTelefonu();
NumerTelefonu(enum typ_numeru jaki);
NumerTelefonu(enum typ_numeru jaki, int nr_kierunkowy);
NumerTelefonu( int nr_kierunkowy, int nr_numer );
NumerTelefonu(enum typ_numeru jaki , int nr_kierunkowy, int nr_numer );
typ_numeru ZwrocTyp() const;
int ZwrocKierunkowy() const;
int ZwrocNumer() const;
void Wyswietl() const;
};
NumerTelefonu::NumerTelefonu()
{
jaki = komorkowy;
nr_kierunkowy=32;
nr_numer=123456789;
}
NumerTelefonu::NumerTelefonu(enum typ_numeru jaki )
{
this->jaki = jaki;
printf("konstruktor\n");
};
NumerTelefonu::NumerTelefonu(enum typ_numeru jaki , int nr_kierunkowy )
{
this->jaki = jaki;
this->nr_kierunkowy = nr_kierunkowy;
printf("konstruktor\n");
};
NumerTelefonu::NumerTelefonu( int nr_kierunkowy , int nr_numer )
{
this->nr_kierunkowy = nr_kierunkowy;
this->nr_numer = nr_numer;
printf("konstruktor\n");
};
NumerTelefonu::NumerTelefonu(enum typ_numeru jaki , int nr_kierunkowy , int nr_numer )
{
this->jaki = jaki;
this->nr_kierunkowy = nr_kierunkowy;
this->nr_numer = nr_numer;
printf("konstruktor\n");
};
typ_numeru NumerTelefonu::ZwrocTyp() const
{
return jaki;
};
int NumerTelefonu::ZwrocKierunkowy() const
{
return nr_kierunkowy;
}
int NumerTelefonu::ZwrocNumer() const
{
return nr_numer;
}
void NumerTelefonu::Wyswietl() const
{
std::cout<<jaki<<"\n"<<nr_kierunkowy<<"\n"<<nr_numer;
}
int main()
{
NumerTelefonu pierwszy(sluzbowy,82,987654321);
pierwszy.Wyswietl();
_getch();
return 0;
}