c++ new一个结构体_一文即懂C++结构体,区别(二)

a93531badac6800e16583effcc077921.gif

0 1

前言

db9247f979a0e786da23501924b0c238.png

上一章节主要是针对于C语言与C++的区别做了一个详细介绍。不清楚的可以回顾一下哦。本章节主要针对于C++结构体给大家做以详细介绍。

0 2

C++结构体的定义

db9247f979a0e786da23501924b0c238.png

fbbb84603188799f66cb1c66f5f732fc.png

C++结构体的声明中可以允许成员被初始化(C++11标准后)

C++定义结构体变量的时候可以省略掉struct 关键字

0 3

C++结构体指针

db9247f979a0e786da23501924b0c238.png

95db62c577ef019a2179dd668f708098.png

C++结构体中没有构造函数的时候,其实用法和C语言的没什么区别,而动态申请内存从原来的malloc改为new,前一章节有讲解

0 4

基本输入输出的改变

db9247f979a0e786da23501924b0c238.png

C++输入输出不再需要格式控制字符,直接用<< >> 结合cout和cin对象去使用,cin>>number;表示输入一个数 cout<

测试代码如下:

48bec534f561f34f62fea99f21c73209.png

0 5

C++包含普通函数

db9247f979a0e786da23501924b0c238.png

这个大家学会如何访问即可,结构体中的函数我们称之为成员函数,成员函数的访问和数据成员的访问是一样的方式.

6e316bad2630034dc855d32a553a3916.png

而对于结构体中的函数访问结构中的数据是可以直接访问的,代表的是每一个结构体变量的行为,其实这差不多就是一个类的思想,只是类具有权限限定,后续会给大家讲解。

0 6

结构体中特殊的函数

db9247f979a0e786da23501924b0c238.png

构造函数基本特点:

  • 构造函数名字和结构体名或者类名一致

  • 构造函数没有返回值

  • 构造函数创建结构体变量或者创建对象时被调用

  • 不写构造函数,存在一个默认的无参构造函数,写了默认的就不存在了。

C++中的delete关键字是可以删除掉默认的函数,当一个结构体没有构造函数是不可以创建对象(变量)的。不写构造函数,存在一个默认的无参构造函数,所以通常我们可以创建无参结构体对象(变量)

9b74608552aec7a8981797393530dff6.png

构造函数创建结构体变量或者创建对象时被调用,所以当我们写一个有参构造函数的的时候,创建结构体对象的是时候需要和构造函数保持一致,包括new一个对象也是一样的。

9c719aade2786044ac842edd2fb70b6d.png

值得的一说的是,当我们不存在无参的构造函数的时候,创建数组的时候和C语言中是不同的,所以一般我们会写一个无参构造函数,专门用来创建对象数组。

7b05aa6d3439d95f2dcb209c150351df.png

array[3] 相当于三个普通的对象,并且无参,所以我们通常采用重载的方式写一个无参构造函数。

关于构造函数就讲这么多,更多的在类和对象中给大家分析

f77a6258288aa2cb06ffe3b783e32e6a.gif本章节作业 f77a6258288aa2cb06ffe3b783e32e6a.gif +

C++实现list

所有操作封装为成员函数

调用测试

50bcab2d6c29fc34503906a20fa52dc3.png f6b36a4303c1b141c0adc914fd587598.png
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值