~类型上不再需要struct关键字,直接用结构体名即可
~c++结构体允许函数存在
·在结构体中声明,在结构体外实现(ps:在函数中实现也可以)
·在结构体中的函数中访问数据可以直接访问
·学会调用
struct Student //定义结构体和c语言一样
{
char name[20];
int age;
void print()
{
cout<
在c++中用结构体定义变量即可,不再需要struct关键字
int main(){
struct Student stu; //用c语言的方式也可以
Student stu1; //用c++的方式
}
~学会调用
和数据成员访问方式是一样的
~对象(结构体变量).成员
~对象指针->成员
~(* 对象指针).成员
在c++中 ~把函数称为行为/方法----->成员函数--->描述一个对象的行为
~把数据称为属性/特性----->数据成员
struct Student
{
char name[20];
int age;
void print()
{
cout<printData(); //输出 小丽 24
}
结构体中的变量必须要通过结构体变量(结构体指针,结构体数组)的方式访问
c++结构体中的函数访问属性不需要,可以直接访问,在结构体外访问必须要通过结构体变量访问
//通过外部函数修改数据(修改年龄)
int &getAge() //提供返回引用的函数
{
return age;
}
int main(){
struct Student stu={"小芳",18};
Student stu1={"小丽",24};
Student* p=&stu1;
p->printData(); //输出 小丽 24
p->getAge()=25; //结构体不需要这样修改数据,只要有结构体变量就可以在外面直接访问
p->printData(); //输出 小丽 25
p->age=18; //输出 小丽 18
p->printData();
}
在c++中定义结构体数组
~不需要struct关键字,其他都一样
Student array[3];//定义一个结构体数组
ps:
在c++没有写构造函数/权限限定的时候,结构体用法和c语言一样



