首先我承认没有系统地学习过C++,今天看到L的代码,我惊了下,struct怎么搞得跟class有点相似,还有构造函数啊~
查了下资料:http://msdn.microsoft.com/en-us/library/64973255(v=VS.90).aspx
struct关键字定义一个结构体类型或一个结构体类型的变量
具体内容点上面连接吧,我就写几点
- 在C++里,结构体(a structure)相同于类(a class),除了它的成员(members)被默认为公有的(public)
- 在C里,必须明确地用struct关键字声明一个结构体(structure);在C++中,一旦类型被定义了就不必要在这样做了
- 当结构体类型被定义后,你可以在闭花括号(the closing brace)和分号之间放置一个或多个以逗号分割的变量名来声明变量
- 结构体变量可以被初始化。但是要在花括号之内完成。(The initialization for each variable must be enclosed in braces)
样例:
// struct1.cpp struct PERSON { // Declare PERSON struct type int age; // Declare member types long ss; float weight; char name[25]; } family_member; // Define object of type PERSON int main() { struct PERSON sister; // C style structure declaration PERSON brother; // C++ style structure declaration sister.age = 13; // assign values to members brother.age = 7; }
struct POINT { // Declare POINT structure int x; // Define members x and y int y; } spot = { 20, 40 }; // Variable spot has // values x = 20, y = 40 struct POINT there; // Variable there has POINT type struct CELL { // Declare CELL bit field unsigned short character : 8; // 00000000 ???????? unsigned short foreground : 3; // 00000??? 00000000 unsigned short intensity : 1; // 0000?000 00000000 unsigned short background : 3; // 0???0000 00000000 unsigned short blink : 1; // ?0000000 00000000 } screen[25][80]; // Array of bit fields