بررسی کلاس ها با ساختار شرطی switch

m_mx2009

Member
با سلام خدمت همه دوستان!
سوالم اولم اینه که چطور میشه متغیر هایی که از جنس کلاس ها هستند را با ساختارهای شرطی switch مقایسه کرد؟

مثلا چطور میشه متغیری که از جنس string هستش رو در switch بررسی کرد؟هرکاری که میکنم ++c ارور میده.

ممنون میشم اگه بهم کمک کنید:rose:
 

the_king

مدیرکل انجمن
با سلام خدمت همه دوستان!
سوالم اولم اینه که چطور میشه متغیر هایی که از جنس کلاس ها هستند را با ساختارهای شرطی switch مقایسه کرد؟

مثلا چطور میشه متغیری که از جنس string هستش رو در switch بررسی کرد؟هرکاری که میکنم ++c ارور میده.

ممنون میشم اگه بهم کمک کنید:rose:
چنین موردی در ++C پیش بینی نشده، ساختار switch در زبان ++C برای مقایسه کردن یا یک مقدار واحد طراحی شده،
مثل یک int یا یک char ، نه یک آرایه.

شما می توانید یک تابع بسازید که مقایسه اصلی در اون انجام بشه، مثلا :

کد:
#include <iostream>
#include <string>

using namespace std;

int CompareString(string s, string p[])
{
    int i;
    for (i = 0; p[i].length() > 0; i++)
        if (p[i].compare(s) == 0)
            return i;
    return -1;
}

int main()
{
    string s = "third";
    string p[] = {"first", "second", "third", "fourth", ""};
    switch (CompareString(s, p))
    {
        case 0:
            //first
            break;
        case 1:
            //second
            break;
        case 2:
            //third
            break;
        case 3:
            //fourth
            break;
        default:
            //none
            break;
    }
    return 0;
}
 

جدیدترین ارسال ها

بالا