Using typedefs in C++