面对大型程序:C/C+语言struct深层探索(4) | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| http://www.sina.com.cn 2005年08月12日 18:42 太平洋电脑网 | |||||||||
|
文/宋宝华 3. C和C++间struct的深层区别 在C++语言中struct具有了“类” 的功能,其与关键字class的区别在于struct中成员变量和函数的默认访问权限为public,而class的为private。
例如,定义struct类和class类: struct structA 则: struct A a; 许多文献写到这里就认为已经给出了C++中struct和class的全部区别,实则不然,另外一点需要注意的是: C++中的struct保持了对C中struct的全面兼容(这符合C++的初衷——“a better c”),因而,下面的操作是合法的: //定义struct 即struct可以在定义的时候直接以{ }对其成员变量赋初值,而class则不能,在经典书目《thinking C++ 2nd edition》中作者对此点进行了强调。
|







