前些日子,有同行问我C++语言中的类和结构体有什么区别。这个问题似乎不复杂,我自以为C/C++学得还可以,一般小问题难不倒我。但是那天事情并没有我想象的那么顺利,我被问得一头雾水,搞得我不好意思只好推辞以后再回答,其尴尬程度=尴尬×尴尬×尴尬×……×尴尬×尴尬=尴尬的N次方。于是回去后我开始查找资料,翻开了久违的书本,仔细阅读相关内容,终于找到了答案。
C++进行扩展后,结构体、共用体内可以包含成员函数,具有了类的性质,功能上跟类相当。只有一点微小的区别:
1、 结构体的成员,在不作private或public声明的情况下,默认为public,并且在需要时可以重新显示声明指定为private或public。
2、 类的成员,在不作private或public声明的情况下,默认为private,也可以在需要时重新显示声明指定为private或public。
3、 共用体的成员,在不作private或public声明的情况下,默认为public,但不可以改变。
虽然结构体和共用体(尤其是结构体)在C++里的用法功能与类相似,但是实际应用中,一般都使用类,只有在考虑兼容C的时候才会用到结构体。


没有评论:
发表评论