前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C++类和结构体 | 类与结构体类型

C++类和结构体 | 类与结构体类型

原创
作者头像
小林C语言
修改于 2021-01-15 02:51:56
修改于 2021-01-15 02:51:56
1.2K00
代码可运行
举报
运行总次数:0
代码可运行

C++类与结构体类型

C++与C语言不同,在C语言的基础上增加了class类型后,仍保留了结构体类型struct,而且把它的功能也扩展了,允许用struct来定义一个类型,可以将前面用关键字class声明的类类型改为用关键字struct:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
struct Student //用struct来声明一个类类型 
{
  private: //声明以下为私有的 
    int number; //学号 
    char name[10];//姓名 
    char sex; //性别 
  public: //声明以下为共有的 
    void print_info() //打印 
    {
      cout<<number<<endl;
      cout<<name<<endl;
      cout<<sex<<endl;
    };
}
Student stu1,stu2;//定义了Student类对象

C++不是简单地继承C语言的结构体,而是使它也具有类的特点, 以便于用于面向对象程序设计,使结构体类型也具有封装的特征。

在C++中用struct声明的结构体类型实际上也就是类,如果对其成员不作private或public的声明,系统将其默认为public;如果想分别指定私有成员和公用成员,则应用private或 public作显式声明。

而用class定义的类,如果不作private或public声明,系统将其成员默认为private,在需要时也可以自己用显式声明改变。

 如果希望成员是公用的,使用struct比较方便;如果希望部分成员是私有的,宜用class,建议读者尽量使用class来建立类,更符合C++风格。

C++类和结构体 | 类与结构体类型

更多案例可以go公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C++类的成员函数 | 成员函数
在C++中,类的成员函数是函数的一种,它有返回值和函数类型,它与一般函数的区别只是:
小林C语言
2021/01/18
2.2K0
C++类的成员函数 | 成员函数
C++定义对象 | 对象举例
这两种方法是等效的,第1种方法是从C语言继承下来的,第2种方法是C++的特色,第2种方法更为简捷方便,平时开发也用的比较多。
小林C语言
2021/01/14
7640
C++定义对象 | 对象举例
C++类和对象 | 类和对象
C++中对象的类型称为类,类代表了某一批对象的共性和特征,类是对象的抽象,而对象是类的具体实例, 类是抽象的,不占用内存,而对象是具体的,占用 存储空间,这点很重要,读者需要牢记。
小林C语言
2021/01/13
8820
8.3 C++ 定义并使用类
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
王 瑞
2023/10/21
2590
8.3 C++ 定义并使用类
C++打怪 之 类与对象的认识
C++的用法非常复杂,不仅兼容C语法,还包括其他语法以及自身的语法风格。由于工作需要,本人也开始涉及C++的学习。本着从易到难的学习过程,在学习C++的过程中与C语言对比,形成自己的C++面向对象思想编程的风格。
开源519
2020/11/03
4550
C++指向结构体变量的指针构成链表
链表有一个头指针变量,以head表示,它存放一个地址,该地址指向一个元素。链表中的每一个元素称为结点,每个结点都应包括两个部分:
小林C语言
2021/01/01
1.4K0
C++指向结构体变量的指针构成链表
8.6 C++ 泛型化编程态
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
王 瑞
2023/10/21
2480
8.6 C++ 泛型化编程态
【C++高潮——类与对象】:类的定义,访问限定符,类域,实例化,this指针,默认成员函数,构造,析构,拷贝构造,运算符重载,类型转换,static成员,友元,内部类,匿名对象,对象拷贝编译器优化
类是一种用户自定义的数据类型,它将数据(成员变量)和操作这些数据的函数(成员函数)封装在一起。在C++中,一般使用class关键字来定义类,其基本格式如下:
用户11029137
2025/03/11
4010
【C++高潮——类与对象】:类的定义,访问限定符,类域,实例化,this指针,默认成员函数,构造,析构,拷贝构造,运算符重载,类型转换,static成员,友元,内部类,匿名对象,对象拷贝编译器优化
C/C++ 类与构造析构等知识
构造/析构 函数: 构造函数与类名相同,没有返回值,不写void,可以发生重载,可以有参数
王 瑞
2022/12/28
4690
C++ 类的继承与派生
本文探讨了C++类的继承与派生,介绍了不同的继承方式,包括公有继承、私有继承和保护继承,并说明了C++中类的多态性。同时,文章还介绍了一种在派生类中访问基类成员的方法,即使用作用域解析运算符“.”。此外,文章还介绍了C++中的虚函数和纯虚函数,并说明了C++中的接口和抽象类。
chaibubble
2018/01/02
1.2K0
C++结构体数组 | 结构体数组的使用
C++结构体数组与以前介绍过的数值型数组的不同之处在于:每个数组元素都是一个结构体类 型的数据,它们都分别包括各个成员项。
小林C语言
2020/12/30
4.8K0
C++结构体数组 | 结构体数组的使用
【C++航海王:追寻罗杰的编程之路】类与对象你学会了吗?(上)
在C语言中,我们可以定义一个主函数,然后按照面向过程的思路,将做饭的各个步骤拆分成不同的函数,每个函数负责一个特定的任务,比如洗菜、切菜、烧火、炒菜等。在主函数中按照顺序调用这些函数来完成整个做饭过程。在这种方式下,我们需要手动管理各个步骤之间的数据传递和调用顺序。
枫叶丹
2024/06/04
980
【C++航海王:追寻罗杰的编程之路】类与对象你学会了吗?(上)
C++016-C++结构体
在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/
IT从业者张某某
2023/10/16
2010
C++016-C++结构体
【C语言笔记】结构体
我们都知道C语言中变量的类型决定了变量存储占用的空间。当我们要使用一个变量保存年龄时可以将其声明为int类型,当我们要使用一个变量保存某一科目的考试成绩时可以将其声明为float。
正念君
2019/06/26
2.3K0
【C语言笔记】结构体
C++结构体概述 | 输出结构体变量
C++提供了许多种基本的数据类型,但是由于程序需要处理的问题往往比较复杂,而且呈多样化,已有的数据类型显得不能满足使用要求。
小林C语言
2020/12/27
3K0
C++结构体概述 | 输出结构体变量
C++类和对象的基本概念
目录 1.c和c++中struct的区别 2.类的封装 3.类的访问权限 ---- 1.c和c++中struct的区别 c语言中结构体中不能存放函数,也就是数据(属性)和行为(方 法)是分离的 c++中结构体中是可以存放函数的,也就是数据(属性)和行为 (方法)是封装在一起的 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; //c语言不能放函数 struct _stu { int a; in
莫浅子
2023/01/09
4660
C++类和对象的基本概念
C++inline | inline成员函数
C++类的成员函数可以指定为内置函数,在类体中定义的成员函数的规模一般都很小,而系统调用函数的过程所花费的时间开销相对是比较大的。
小林C语言
2021/01/19
1.1K0
C++ 炼气期之结构体
随着计算机向着不同领域的延伸,数据的概念已经不仅局限于数值型数据,计算机需要处理大量的非数值类型数据。如在企业级程序的开发过程中所涉及到的工作流信息,几乎都是非数值型数据。
一枚大果壳
2022/08/23
7631
C++ 炼气期之结构体
8.4 C++ 运算符重载
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
王 瑞
2023/10/21
2410
8.4 C++ 运算符重载
结构体定义 typedef struct 用法详解和用法小结
typedef可以声明新的类型名来代替已有的类型名,但却不能增加新的类型。   typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。   在编程中使用typedef目的一般有两个,一个是给变量提供一个易记且意义明确的新名字(类型有新别名,方便变量的定义),另一个是简化一些比较复杂的类型声明。
Twcat_tree
2022/11/30
1.5K0
推荐阅读
相关推荐
C++类的成员函数 | 成员函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验