All pastes #338452 Raw Edit

Unnamed

public cpp v1 · immutable
·published 2007-02-03 13:25 UTC
rendered paste body
#include <iostream>class Dice{    public:        void setSides(int sides);        int getSides();        int roll();    private:        int sides;};void Dice::setSides(int sides){    this->sides = sides;}int Dice::getSides(){    return sides;}int Dice::roll(){    return (rand() % sides) + 1;}//---------------------------------------------------------------class DicePotContainer{    public:        Dice *getDice();        DicePotContainer *getNext();        void setDice(Dice &d);        void setNext(DicePotContainer &dpc);    private:        DicePotContainer *pNext;        Dice *pDice;};Dice *DicePotContainer::getDice(){    return pDice;}DicePotContainer *DicePotContainer::getNext(){    return pNext;}void DicePotContainer::setDice(Dice &d){    pDice = &d;}void DicePotContainer::setNext( DicePotContainer &dpc){    pNext = &dpc;}//---------------------------------------------------------------class DicePot{    public:        DicePot();        void add(Dice &d);        int roll();    private:        DicePotContainer *pStart;        int dCount;};DicePot::DicePot(){    dCount = 0;}void DicePot::add(Dice &d){    DicePotContainer *dpc = new DicePotContainer();    dpc->setDice(d);    if (dCount == 0)    {        pStart = dpc;    }    else    {        DicePotContainer *cur;        cur = pStart;        for(int i = 0; i < (dCount-1); i++)        {            cur = cur->getNext();        }        cur->setNext(*dpc);    }    dCount++;}int DicePot::roll(){    int total = 0;    DicePotContainer *cur;    cur = pStart;    for (int i = 0; i < dCount; i++)    {        total += cur->getDice()->roll();        cur = cur->getNext();    }    return total;}//---------------------------------------------------------------int main(void){    Dice moo;    srand(time(0));    moo.setSides(6);    DicePot pot;    pot.add(moo);    pot.add(moo);    for (int i = 0; i < 20; i++)        std::cout << pot.roll() << std::endl;}