在C++中,既可以用struct关键字进行类的定义,也可以用class关键字进行类的定义,那么这两者到底有什么区别呢?
唯一的一点区别是:struct和class的默认访问权限不一样。
如果我们使用struct关键字,则定义在第一个访问说明符之前的成员是public的;相反,如果使用的是class关键字,则这些成员是private的。
我认为可以这样理解:struct关键字是C风格的类型定义符,class是C++风格的类型定义符,我们知道面向对象的C++具有更好的封装特性,因此会默认将其成员定义为private的。
参考书籍:《C++ Primer 中文版(第5版)》