一文即懂C++结构体,区别(二)_c++ 0 1 前言 一文即懂C++结构体,区别(二)_c++_02

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

0 2 C++结构体的定义 一文即懂C++结构体,区别(二)_c++_02一文即懂C++结构体,区别(二)_c++_04

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

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

0 3 C++结构体指针 一文即懂C++结构体,区别(二)_c++_02

一文即懂C++结构体,区别(二)_无参构造函数_06


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

0 4 基本输入输出的改变 一文即懂C++结构体,区别(二)_c++_02


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

测试代码如下:

一文即懂C++结构体,区别(二)_c++_08

0 5 C++包含普通函数 一文即懂C++结构体,区别(二)_c++_02 这个大家学会如何访问即可,结构体中的函数我们称之为成员函数,成员函数的访问和数据成员的访问是一样的方式.

一文即懂C++结构体,区别(二)_无参构造函数_10


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

0 6 结构体中特殊的函数 一文即懂C++结构体,区别(二)_c++_02

构造函数基本特点:

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

  • 构造函数没有返回值

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

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

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

一文即懂C++结构体,区别(二)_c++_12


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

一文即懂C++结构体,区别(二)_创建对象_13


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

一文即懂C++结构体,区别(二)_构造函数_14


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

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

一文即懂C++结构体,区别(二)_c++_15 本章节作业 一文即懂C++结构体,区别(二)_c++_15

C++实现list

所有操作封装为成员函数

调用测试

一文即懂C++结构体,区别(二)_构造函数_17一文即懂C++结构体,区别(二)_c语言_18

本文分享自微信公众号 - C语言编程基础(goodStudyCode)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。