Why can't I inherit from int in C++?
I'd love to be able to do this: class myInt : public int { }; Why can't I? Why would I want to? Stronger typing. For example, I could define two classes intA and intB , which let me do intA + intA or intB + intB , but not intA + intB . "Ints aren't classes." So what? "Ints don't have any member data." Yes they do, they have 32 bits, or whatever. "Ints don't have any member functions." Well, they have a whole bunch of operators like + and - . Neil's comment is pretty accurate. Bjarne mentioned considering and rejecting this exact possibility 1 : The initializer syntax used to be illegal for