C、C++结构体区别

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* _gender;
	int _age;
}person;
//C语言结构体的第二种用法:要使用这个结构体必须用:Person person;
typedef struct{
	char* _name;
	char* _gender;
	int _age;
}person;

5.C++结构体可以使用构造函数和析构函数

// C++结构体定义方法第一种 // 不需要struct直接使用:Person person; //
这时候person就是一个Person类型的变量

struct Person{
	char* _name;
	char* _gender;
	int _age;
}person;
 

// C++结构体定义方法第二种 //
如果添加了关键词typedef会有区别,相当于给Person取了一个别名叫person,这里的person是一个结构体类型 //
使用的时候需要用:Person person

typedef struct Test{
    int number;
    char name[10];
}TestName;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值