Typ wyliczeniowy w klasie

0

Witam. Jak zmodyfikować metode Wybor aby za pomoca danego x wybrac jeden z trzech dostepnych samochodów? A następnie za pomoca drugiej metody wypisac jego nazwe?

#include <iostream>
#include <conio.h>
using namespace std;

class Car
{
	public:
		enum Samochod {audi, opel, fiat};
		void Wybor(int x);
		void Wypisz();
}e;

void Car::Wybor(int x)
{
	Samochod=x;
}

void Car::Wypisz()
{
	if (x==0) cout<<"audi";
	else if (x==1) cout<<"opel";
	else if (x==2) cout<<"fiat";
}

int main()
{
	e.Wybor();
	e.Wypisz();
	getch();
} 
0

Sama linijka:

enum Samochod {audi, opel, fiat};

To definicja typu wyliczeniowego o nazwie Samchod. Musisz utworzyć jeszcze pole w klasie tego typu.

Podaję poprawioną wersję, ale ogólnie Twój program trochę jest, ehh, tak żeby Cię nie urazić... Nie chodzi mi o to, co on robi, bo rozumiem, że się dopiero uczysz. Mam wrażenie, że nie rozumiesz na czym polega programowanie obiektowe.

#include <iostream>

using namespace std;

class Car
{
    public:
    enum Marka
    {
        audi, opel, fiat
    } marka;

    void Wybor(Marka x);
    void Wypisz();
} e;

void Car::Wybor(Marka x)
{
    marka = x;
}

void Car::Wypisz()
{
    if(marka == audi) cout << "audi";
    else if(marka == opel) cout << "opel";
    else if(marka == fiat) cout << "fiat";
}

int main()
{
    e.Wybor(Car::fiat);
    e.Wypisz();
}
0

Dzięki wielkie. Podałem tutaj jedynie zagadnienie z którym mam problem, dlatego program wygląda jak wygląda i nie ważne co robi:P to jest jedynie 1/10 całego programu, miałem tylko z tą częścią problem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1