Enumerations and State
Enum With Structs
Structs can store enum values alongside other fields.
Enum With Structs
enum_with_structs.cpp
#include <iostream>
#include <string>
enum class Priority {
Low,
Medium,
High
};
struct Ticket {
std::string title;
Priority priority;
};
int points(Priority priority) {
if (priority == Priority::High) {
return 3;
}
if (priority == Priority::Medium) {
return 2;
}
return 1;
}
int main() {
Priority priority = ;
Ticket ticket{"login bug", priority};
std::cout << "title=" << ticket.title << std::endl;
std::cout << "points=" << points(ticket.priority) << std::endl;
return 0;
}
#include <iostream>
#include <string>
enum class Priority {
Low,
Medium,
High
};
struct Ticket {
std::string title;
Priority priority;
};
int points(Priority priority) {
if (priority == Priority::High) {
return 3;
}
if (priority == Priority::Medium) {
return 2;
}
return 1;
}
int main() {
Priority priority = ;
Ticket ticket{"login bug", priority};
std::cout << "title=" << ticket.title << std::endl;
std::cout << "points=" << points(ticket.priority) << std::endl;
return 0;
}
#include <iostream>
#include <string>
enum class Priority {
Low,
Medium,
High
};
struct Ticket {
std::string title;
Priority priority;
};
int points(Priority priority) {
if (priority == Priority::High) {
return 3;
}
if (priority == Priority::Medium) {
return 2;
}
return 1;
}
int main() {
Priority priority = ;
Ticket ticket{"login bug", priority};
std::cout << "title=" << ticket.title << std::endl;
std::cout << "points=" << points(ticket.priority) << std::endl;
return 0;
}
enum field
An enum field records a named category inside a larger object.