结构体
1、概述:
对于结构体来讲,C语言当中就存在了,可以说它是类的原型,类可以说就是源于此由来,结构体与类最普通的有两点区别,第一是关键字不同,第二结构体中默认的访问属性是public,而类的默认访问属性是private。
2、特点
a).C++中当定义结构体变量时,可以省略关键字struct(指定义结构体变量的时候,可以省略结构体关键字struct);
b).而在C语言当中定义了结构体,在通过结构体定义结构体变量的时候,不能省略关键字struct.
c).此外,C++中的结构体中还可以定义函数,而C语言不行。
3、定义格式
struct 结构体名
{
//结体成员,可以是成员变量,也可以是成员函数哦
}; // “;”这个分号不能丢哦,要记得
4、例子代码:
struct Person
{
public:
char sName[60];
int nAge;
void show()
{
cout<<"我是: "<<sName<<"我今年: "<<nAge<<"岁了,正在吃香喝辣的!"<<endl;
}
}; //;不能丢
void StructFun2()
{
struct Person px = {"张飞",30}; //c type
px.show();
Person pp = {"weikangc",26}; //c++ type
pp.show();
}
void StructFun()
{
struct Student
{
char Name[32];
int Age;
void SetName(char* chName)
{
memset(Name,0,32);
strcpy(Name,chName);
}
void SetAge(int nAge)
{
Age = nAge;
}
void ShowInfo()
{
cout<<"Name :"<<Name<<" Age: "<<Age<<endl;
}
};
struct Student stu = {"weikangc",26}; //C语言方式
Student stu2 = {"weikangc",27}; //C++语言方式.
stu.ShowInfo();
stu2.ShowInfo();
stu.SetName("guoxiaoheng");
stu.SetAge(25);
stu.ShowInfo();
}