#include using namespace std; #include "dice.h" // file: scopedice.cpp // Author: D. Ramm; Date: 10/26/96 // explore scope rules using the Dice class void Toss15(Dice c) { cout << "Toss15: NumRolls() BEFORE: " << c.NumRolls() << endl; cout << "Toss15: roll 15 times" << endl; for (int k = 0; k < 15; k++) c.Roll(); cout << "Toss15: NumRolls() AFTER: " << c.NumRolls() << endl; } void RefToss30(Dice & c) { cout << "RefToss30: NumRolls() BEFORE: " << c.NumRolls() << endl; cout << "RefToss30: roll 30 times" << endl; for (int k = 0; k < 30; k++) c.Roll(); cout << "RefToss30: NumRolls() AFTER: " << c.NumRolls() << endl; } int main() { Dice cube(6); cout << "main: NumRolls() BEFORE: " << cube.NumRolls() << endl; cout << "main: roll 10 times" << endl; for (int k=0; k< 10; k++) cube.Roll(); cout << "main: NumRolls() AFTER: " << cube.NumRolls() << endl << endl; cout << "main: Invoke Toss15() " << endl; Toss15(cube); cout << "main: NumRolls() AFTER: " << cube.NumRolls() << endl << endl; cout << "main: Invoke RefToss30() " << endl; RefToss30(cube); cout << "main: NumRolls() AFTER: " << cube.NumRolls() << endl; return 0; } /* Sample Output: prompt> scopedice main: NumRolls() BEFORE: 0 main: roll 10 times main: NumRolls() AFTER: 10 main: Invoke Toss15() Toss15: NumRolls() BEFORE: 10 Toss15: roll 15 times Toss15: NumRolls() AFTER: 25 main: NumRolls() AFTER: 10 main: Invoke RefToss30() RefToss30: NumRolls() BEFORE: 10 RefToss30: roll 30 times RefToss30: NumRolls() AFTER: 40 main: NumRolls() AFTER: 40 */