C和C++中结构体有什么不同?
1.C语言中的结构体只能由成员变量组成,而C++的结构体中既可以有成员函数,也可以有成员变量。
C语言的结构体
struct person{
char* _name;
char* _gender;
int _age;
};
C++的结构体
struct person{
void InitPerson(char* name,char* gender,int age){
_name = name;
_gender = gender;
_age = age;
}
char* _name;
char* _gender;
int _age;
};
2.C语言结构体的访问权限只能是public,C++中访问权限可以是privated、protected、public;
3.C语言结构体中不可以继承,C++可以从别的结构体或者类中继承过来。
4.C语言结构体使用的名称上有严格要求:
//C语言结构体的第一种用法:要使用这个结构体必须用:struct Person person;
struct Person{
char* _name;
char* _gender;
int _age;
}person;
//C语言结构体的第二种用法:要使用这个结构体必须用:Person person;
typedef struct Person{
char* _name;
char* _ge