Dalam C++, Struct dan class mempunyai penulisan yang sama. Deklarasi class dan struct memiliki anggota dengan akses public kecuali jika dinyatakan lain. C ++ tidak membedakan nama class dan nama tag, paling tidak dari sudut pandang pemprogram dan tetap menerima deklarasi structure. Kompatibilitas C ++ tidak sebatas pada perbedaan nama class daan nama type karena C++ masih memerlukan definisi type POD (Plain Old Data). C++ mendefinisikan POD Type sebagai objek suatu class yang tidak mempunyai userdefined constructor, anggota protected maupun private, tidak memiliki base class dan tidak memiliki fungsi virtual.
Compiller C++ dapat menambahkan default constructor apabila diperlukan, jika dalam definisi class:
Tidak tertulis secara eksplisit default constructor dan tidak ada dejlarasi constructor...