Why would you not allow,
Code:
cout << p1+p2<<endl;
whats so dangerous about this code?