Computer >> Máy Tính >  >> Lập trình >> C ++

Làm thế nào để ánh xạ enum C ++ thành chuỗi?

Ở đây chúng ta sẽ xem cách ánh xạ một số dữ liệu kiểu enum thành một chuỗi trong C ++. Không có chức năng trực tiếp nào để làm như vậy. Nhưng chúng ta có thể tạo hàm của riêng mình để chuyển đổi enum thành chuỗi.

Chúng tôi sẽ tạo một hàm nhận giá trị enum làm đối số và chúng tôi trả về thủ công các tên enum dưới dạng một chuỗi từ hàm đó.

Mã mẫu

#include <iostream>
using namespace std;

enum Animal {Tiger, Elephant, Bat, Dog, Cat, Mouse};

string enum_to_string(Animal type) {
   switch(type) {
      case Tiger:
         return "Tiger";
      case Elephant:
         return "Elephant";
      case Bat:
         return "Bat";
      case Dog:
         return "Dog";
      case Cat:
         return "Cat";
      case Mouse:
         return "Mouse";
      default:
         return "Invalid animal";
   }
}

int main() {
   cout << "The Animal is : " << enum_to_string(Dog) << " Its number: " << Dog <<endl;
   cout << "The Animal is : " << enum_to_string(Mouse) << " Its number: " << Mouse << endl;
   cout << "The Animal is : " << enum_to_string(Elephant) << " Its number: " << Elephant;
}

Đầu ra

The Animal is : Dog Its number: 3
The Animal is : Mouse Its number: 5
The Animal is : Elephant Its number: 1