class MenuItemQuit
class MenuItemRingBell
class MenuItemPrintMessage
class MenuItemAddTwoInts
1: /** @file menuitems.cpp */
3: #include <iostream>
4: #include <vector>
5: using namespace std;
7: #define NO_DISPLAY_ID_INFO
8: #include "utilities.h"
9: using Scobey::Pause;
10: #include "menuitem_base.h"
12: class MenuItemQuit : public MenuItem
13: {
14: void performAction()
15: {
16: Pause(0, "Program now terminating.");
17: }
18: };
20: class MenuItemRingBell : public MenuItem
21: {
22: void performAction()
23: {
24: cout << '\007';
25: Pause();
26: }
27: };
29: class MenuItemPrintMessage : public MenuItem
30: {
31: void performAction()
32: {
33: cout << "\nThis is a message ...\n";
34: Pause();
35: }
36: };
38: class MenuItemAddTwoInts : public MenuItem
39: {
40: void performAction()
41: {
42: int m, n;
43: cout << "Enter two integer values to add: ";
44: cin >> m >> n; cin.ignore(80, '\n');
45: cout << "The sum of " << m << " and " << n << " is " << m+n << ".\n";
46: Pause();
47: }
48: };
50: string menuTitle = "Menu";
51: void InitializeMenuItems
52: (
53: vector<MenuItem*>& menuItems //out
54: )
55: {
56: int numberOfCommands = 4;
57: menuItems.resize(numberOfCommands);
58: menuItems[0] = new MenuItemQuit;
59: menuItems[0]->setOption("Quit");
60: menuItems[1] = new MenuItemRingBell;
61: menuItems[1]->setOption("Sound a bell");
62: menuItems[2] = new MenuItemPrintMessage;
63: menuItems[2]->setOption("Print a message");
64: menuItems[3] = new MenuItemAddTwoInts;
65: menuItems[3]->setOption("Add two numbers");
66: }