首先我承认没有系统地学习过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