یکی دیگر از دستورات موجود در این زبان برنامه نویسی دستور  switchاست. دستورات if و if-else برای یک یا دو حالت انتخاب مناسب هستند اما برای انتخاب های بیشتر به جای یک سری از if های تودرتوانتخاب دیگری هم وجود دارد. دستور switch بر اساس مقدار یک متغیر یا عبارت صحیح روی کدی که می خواهید سوئیچ می کند. شکل کلی آن به صورت زیر است:

switch(selector)
{
;  case integral-value1 : statement; break
 ;  case integral-value2 : statement; break
;  case integral-value3 : statement; break
;  case integral-value4 : statement; break
(…)
;   default: statement
}

selector باید یک متغیرصحیح یا عبارتی باشد که یک عدد صحیح تولید می کند. این مقدار با مقادیر صحیح بعد از case ها مقایسه می شود اگر برابر با یکی از آنها بود دستور مربوط به آن اجرا می شود. اگر برابر با هیچکدام از مقادیر نبود دستور بعد از default اجرا می شود.

دستور switch دارای یک بلاک از کد است. آکولاد درست بعد از switch شروع و بعد از آخرین دستور آن تمام می شود.

مثال.

int choice;
switch(choice)
{
case 1:
cout << “you chose 1n”;
break;
case 2:
cout << “you chose 2n”;
break;
case 3:
cout << “you chose 3n”;
break;
default:
cout << “you made an invalid choice n”;
}

در انتهای هر case یک دستور break وجود دارد که باعث می شود اجرا به انتهای بلاک switch منتقل شود. اگر break حذف شود اجرا ادامه پیدا می کند و کلیه case های بعدی اجرا می شود تا وقتی که با یک دستور break مواجه شود.

مثال.

char Choice;
cout << “Enter the letter for your choice: “;
cin >> Choice;

switch(Choice)
{
case ‘A’:
case ‘a’:
DoOptionA();
break;
case ‘B’:
case ‘b’:
DoOptionB();
break;
case ‘C’:
case ‘c’:
DoOptionC();
}

دستور switch راهی برای ساختن شرط های تودرتو است اما به selector احتیاج دارد که بر اساس مقدار آن تصمیم گیری کند. وقتی مفید است که می خواهید مقدار یک متغیر یا عبارت صحیح با یک سری ثابت مقایسه و کد مربوط به آن اجرا شود.

نکته. در هر case تنها از یک مقدار ثابت می توان استفاه کرد.
نکته. عبارت رشته ای به عنوان selector نمی تواند بکار رود. برای یک عبارت رشته ای باید از شرط های تودرتو استفاده کرد.
نکته. می توان دستورات switch تودرتو نیز داشت.
نکته. دستورات درون هر case می تواند بیشتر از یکی باشد و به آکولاد برای محصور کردن آنها نیازی نیست.