Modeling a pair of dice using composition in C++
Some miscellaneous remarks unrelated to object-oriented design:


Die face numbering: Your die face values are 0, 1, 2, 3, 4, 5.  That's not how most people expect a six-sided die to be labeled.  It also makes an exceptionally weird definition of rolling snake eyes!
Biased die: Since 6 is not a power of 2, if you just do rand() % 6 then you have a slightly biased die.
Roll miscount: You aren't rolling a pair of dice 1000 times.  You're rolling a pair of dice until you get 1000 results other than 2 or 6.  You could probably have avoided this bug if you had used a for-loop instead of a while-loop, since for-loops impose a standard structure on your code.
Variable declaration: In main(), the variable total is only used within the while-loop, so it should be declared at the point of use: int total = dice.roll();
Seeding: You didn't actually call srand().
Portability: system("pause") is unportable.
ostream support: Consider implementing std::ostream &amp;operator&lt;&lt;(std::ostream &amp;out, ...) for printing.