Durumları tutmak için enum kullanıyoruz. Örneğin hava durumunu tutmak istersek şöyle bir enum kullanabiliriz:
enum Hava
{
yagmurlu,
acik,
karli,
karla_karisik,
};Peki nasıl kullanacağız? Tıpkı normal değişkenleri kullandığımız gibi kullanıyoruz.
#include <iostream>
using namespace std;
enum Hava
{
yagmurlu,
acik,
karli,
karla_karisik,
};
int main(int argc, char* argv[]) {
Hava durum;
durum = Hava::yagmurlu;
switch (durum){
case yagmurlu:
cout << "Bugun hava yagmurlu." << endl;
break;
case acik:
cout << "Guzel bir gün bizleri bekliyor." << endl;
break;
case karli:
cout << "Kis lastiklerinizi takmayi unutmayın." << endl;
break;
case karla_karisik:
cout << "Yurdun dört bir yaninda siddetli gecmesi beklenen..." << endl;
break;
default:
break;
}
return 0;
}
// Çıktı:
// Bugun hava yagmurlu.Enumlar aslında tıpkı bir integer gibi sayıdır. Sayı olarak durumları tutmak yerine böyle kelime olarak tutmak biz programcılar için çok daha kullanışlı ve anlamlı.
Bir de enum class larımız vardır. Farkı:
Anenumjust spills its contents into the enclosing scope, and is basically a const static integer. This means that the first element of any default enum is the same using the == operator.
Enum classes have their own scope, and don't pollute the namespace that they are in. They also make sure that the first element in any enum classes aren't equal.
Prefer enum classes because of their perks if you have a compiler that supports them (any major compiler by now)
I'd you want to learn more go here:
http://en.cppreference.com/w/cpp/language/enum
https://stackoverflow.com/questions/32953650/difference-between-enum-and-enum-class

Leave a Reply