c/c++结构体与类的联系

算是一点学习笔记吧。

还记得在介绍C++类的时候说过,类是取代结构体的。结构体的功能其实是很强大的,在C++中我们不仅能有自己的数据成员,还能有自己的函数。构造函数、重载、public/private等等(而这些,那个名字叫C的是没法给编译的)竟然也能在里面使用。C++只是扩充了结构体的功能,但C++中为了介绍面向对象的类这一神乎其神的东西,就淡化了同样精彩的结构体,有点那个啥吧。写一些小程序而觉得没有必要去构造类的时候,选择结构体是个不错的选择噢。另外,在c++中,结构体和类就一个区别,默认作用域不同:在class中定义的成员默认是private,在struct默认是public。

在结构体中,可以包含函数指针变量,下面示例

1 struct ABC
2   {
3   int x,y;
4   int (*func)(int,int); //函数指针
5   };

为此结构体分配内存的大小是多少呢?在32位系统vc++下,是4*2+4字节,两个int型加一个函数的地址4字节。

posted @ 2013-09-30 11:42  光与存在  阅读(279)  评论(0)    收藏  举报