Struct
Struct
[TOC]
1. struct 的使用
以下通过例子来解释几种struct的使用:
1
2
3
4
5
6
7
8
typedef struct A
{/*...*/}a,b; // a和b是A的别名,与A无异
struct A
{/*...*/}a,b; // a和b是A的别两个对象
struct
{/*...*/}a,b; // 无名结构体,只能通过a和b调用
2. struct 与 class 的区别
(1) C语言中
在C语言中,struct就是一个简单类型,与class的区别很大。1
(2) C++中
在 C++ 中,struct(结构体)和 class(类)在很多方面都非常相似,
但它们在默认的访问权限和继承类型上有一些关键区别:
- 默认的访问权限:
- 在
class中,默认的成员访问权限是private。 - 在
struct中,默认的成员访问权限是public。
- 在
- 默认的继承类型:
- 当从
class继承时,默认的继承类型是private。 - 当从
struct继承时,默认的继承类型是public。
- 当从
使用建议:
- 当你需要一个主要用于数据存储的简单结构体时,使用
struct是更自然的选择。 - 当你需要一个具有封装、继承和多态等特性的完整类时,使用
class更为合适。
参考文章23
本文由作者按照
CC BY 4.0
进行授权