首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

《深度探索C++对象模型》系列之(2)

2013-01-04 
《深度探索C++对象模型》系列之(二)原文请参考:www.jellythink.com(思想的果冻)今天这篇博文主要讲解在C中关

《深度探索C++对象模型》系列之(二)

原文请参考:www.jellythink.com(思想的果冻)

今天这篇博文主要讲解在C++中关键字struct和class的区别。我的这篇博文,就按照系统的将这两个关键字的不同面进行详细的讲解。

从语法上来讲,class和struct做类型定义时只有两点区别:

(1)默认继承权限,如果不指定,来自class的继承按照private继承处理,来自struct的继承按照public继承处理;

(2)成员的默认访问权限。class的成员默认是private权限,struct默认是public权限。以上两点也是struct和class最基本的差别,也是最本质的差别;

但是在C++中,struct进行了扩展,现在它已经不仅仅是一个包含不同数据类型的数据结构

了,它包括了更多的功能;

首先,struct能包含成员函数吗?是的,答案是肯定的。

好的,写一段代码验证一下:

struct A{};class B:A{}; // private 继承 class A{};struct B:A{}; // public 继承

最后,那么到底是使用struct,还是使用class呢?这个看个人喜好,但是这里有一个编程规范的问题,当你觉得你要做的更像是一种数据结构的话,那么用struct,如果你要做的更像是一种对象的话,那么用class。

热点排行