C++ 学习 ::【基础篇:08】:C++ 中 struct 结构体的认识【面试考点:C 与 C++ 中结构体的区别】

本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段:基础篇、STL 篇、高阶数据结构与算法篇,相关重点内容如下:

  1. 基础篇类与对象(涉及C++的三大特性等);
  2. STL 篇学习使用 C++ 提供的 STL 相关库
  3. 高阶数据结构与算法篇手动实现自己的 STL 库设计实现高阶数据结构,如 B树、B+树、红黑树等。

学习集:


本期内容:C++ 中 struct 结构体的认识【面试考点:C 与 C++ 中结构体的区别】


目录:
1. C++ 中的 struct 的认识
2. C++ 中的 struct 基本使用
3. C 与 C++ 中结构体的区别


C++学习合集链接


1. C++ 中的 struct 的特点

简而言之,C++ 中的 struct 可以兼容 C 语言的用法!同时有新增的特性!


C++ 中结构体内:

  1. 可以声明并初始化变量
  2. 可以声明定义函数!
  3. 实例化时可以省略 struct 关键字!
  4. 成员访问方式与 C 语言相同!
  5. 结构体内同样有访问限制符,默认为:public(公有:即外部声明的变量可以直接通过成员访问的方式访问!)
  6. 可以包含静态成员。

补充:关于访问限制符的问题,在类中会说明,此处只需直到分为三种:

  • public:公有属性(外部可以直接访问,一般成员函数都是公有的)
  • protected:保护属性(外部不能直接访问)
  • private:私有属性(外部不能直接访问)
  • 访问限制是外部对结构体/类内部成员的访问限制,结构体/类内部无访问限制约束!

2. C++ 中的 struct 基本使用

如下使用 C++ struct 简单设计栈(不实现)

#include<iostream>
using std::cout;
using std::endl;

typedef int DataType;

struct Stack{
	// 默认访问限制为:公有
    // 定义成员变量
    DataType* _stack;
    size_t _capacity = 4;		// 支持初始化变量
    size_t _size = 0;
    
    // 定义成员方法
   	void Init(){
		...
    }
    
    void Push(const DataType& data){
        ...
    }
    
    ...
};

int main(){
    Stack stk;		// 可以省略 struct 关键字
    stk.Init();
    
    return 0;
}

3. C 与 C++ 中结构体的区别

特性C++C 语言
内部初始化变量
内部声明定义函数
外部访问限制
是否可继承
是否支持静态成员

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NPC的白话文谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值