The two fundamental design rules in C++ are abstraction and reuse.