溫馨提示×

如何將字符串轉換為C++枚舉類

c++
小樊
199
2024-07-09 00:58:27
欄目: 編程語言

要將字符串轉換為C++枚舉類,您可以使用一組if-else語句或者switch語句來實現。首先,定義一個枚舉類,然后編寫一個函數來將字符串轉換為枚舉類的值。下面是一個示例代碼:

#include <iostream>
#include <string>

enum Fruit {
    APPLE,
    BANANA,
    ORANGE
};

Fruit stringToEnum(const std::string& str) {
    if (str == "APPLE") {
        return APPLE;
    } else if (str == "BANANA") {
        return BANANA;
    } else if (str == "ORANGE") {
        return ORANGE;
    } else {
        // handle invalid string input
        std::cerr << "Invalid input string" << std::endl;
        return static_cast<Fruit>(-1); // or throw an exception
    }
}

int main() {
    std::string fruitStr = "BANANA";
    Fruit fruit = stringToEnum(fruitStr);

    switch (fruit) {
        case APPLE:
            std::cout << "It's an apple" << std::endl;
            break;
        case BANANA:
            std::cout << "It's a banana" << std::endl;
            break;
        case ORANGE:
            std::cout << "It's an orange" << std::endl;
            break;
        default:
            break;
    }

    return 0;
}

在上面的示例中,我們定義了一個Fruit枚舉類,然后編寫了一個stringToEnum函數來將字符串轉換為對應的枚舉值。在main函數中,我們將字符串"BANANA"轉換為Fruit枚舉值,并使用switch語句打印出相應的輸出。您可以根據需要擴展這個示例代碼來處理更多的枚舉值和字符串。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女