如果对C和C++都有所了解的,就应该有这么一个感觉,class和struct怎么如此的相似.
bingo,其实C++中的class就是从C中的struct演变而来(当然也有源自于别的语言的启发),从结构上来讲,class和struct其实都可以由member variable和member function组成,关键的部分是struct中的成员的default形态为public,而class为private.
现在大家看出问题来了吧,从程序员的角度来说,class比struct更加的安全,而且C++引入的那些机制(如虚函数,多态等),使得class的代码复用度更好,而且由于Runtime Type identification的存在,使用class比之struct更加好保障内存的使用.
还有一点需要注意的是,在C++中,struct其实也有自己的构造函数.