当前位置: 首页 > news >正文

详解c++:认识类

文章目录

  • 前言
  • 一、类是什么
  • 二、类(class)的使用
    • public
    • private:
    • protected:


前言

C++ 是一种面向对象的编程语言。面向对象编程是一种编程范式,它使用“对象”来设计软件应用程序。在面向对象编程中,对象包含了数据和操作这些数据的函数(在C++中称为成员函数)。这些对象是基于类(class)创建的,类定义了对象的结构、属性和行为。其中类是一个非常重要的内容也是c++入门的一大难点下面我将详细的说明什么是类


提示:以下是本篇文章正文内容,下面案例可供参考

一、类是什么

在百度百科中是这么定义类的:类(英语:class)在面向对象编程中是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建的对象共同的属性和方法。
类的更严格的定义是由某种特定的元数据所组成的内聚的包。它描述了一些对象的行为规则,而这些对象就被称为该类的实例。类有接口和结构。接口描述了如何通过方法与类及其实例互操作,而结构描述了一个实例中数据如何划分为多个属性。类是与某个层的对象的最具体的类型。类还可以有运行时表示形式(元对象),它为操作与类相关的元数据提供了运行时支持。
支持类的编程语言在支持与类相关的各种特性方面都多多少少有一些微妙的差异。大多数都支持不同形式的类继承。许多语言还支持提供封装性的特性,比如访问修饰符。类的出现,为面向对象编程的三个最重要的特性(封装性、继承性、多态性),提供了实现的手段。
那么我们该怎么用呢?

二、类(class)的使用

在cpp中类有个关键字:class
所以我们学习类先要学习class的使用,在这里我先提供一个基本模板

class MyClass {  
public:  // 公有成员,可以在类外部访问  void publicFunction() {  // ...  }  protected:  // 受保护成员,在类外部不可直接访问,但可以在派生类中访问  void protectedFunction() {  // ...  }  private:  // 私有成员,只能在类内部访问  void privateFunction() {  // ...  }  
};

在这个模板中我们可以看到class中有一个关键字叫 public

public

pubilc是将下面的元素全部开放(类中元素是默认封装的)但是你如果要访问的话需要加类域不然无法访问(就像是无法直接用cout一样)只有在表示类域的情况下才能使用

当你使用pubilc时你已经将全部内容展开了那么我们不行将它展开时要怎样做呢?这就用到了我们下面两了关键字protected和private

private:

private是一个很安全的封装,它只能被定义该成员的类内部访问,无法被外界和子类访问所以它可以隐藏类的内部实现细节,保护数据不被外部非法访问或修改,增强类的封装性。

protected:

protected是一个相对来说受保护的对象它能被类访问同时也能被类的子类所访问,它的灵活性比较高但是相对的也完成了封装(域外无法直接访问)同时在使用继承时,如果基类的成员被protected修饰,则这些成员在子类中变为protected,即子类可以访问这些成员。

http://www.lryc.cn/news/439292.html

相关文章:

  • HTML5中的重要元素详解
  • 八股文知识汇总(常考)
  • unity 图片置灰shader
  • 【C语言】(指针系列2)指针运算+指针与数组的关系+二级指针+指针数组+《剑指offer面试题》
  • 探索信号处理:使用傅里叶小波变换分析和恢复信号
  • 俄罗斯方块——C语言实践(Dev-Cpp)
  • 关于wp网站出现的问题
  • 为什么H.266未能普及?EasyCVR视频编码技术如何填补市场空白
  • 最全 高质量 大模型 -评估基准数据集(不定期更新)
  • react 中, navigate 跳转链接 2种写法
  • k8s Service 服务
  • 安全建设当中的冷门知识
  • python画图|极坐标下的3D surface
  • html+css+js网页设计 旅游 大理旅游7个页面
  • Day 29~42 JavaWeb
  • 小程序开发设计-第一个小程序:创建小程序项目④
  • C++设计模式——Mediator中介者模式
  • 微服务之间远程调用实现思路
  • 获取STM32 MCU的唯一ID
  • Debian项目实战——环境搭建篇
  • CenterNet官方代码—目标检测模型推理部分解析与项目启动
  • 测试开发基础——测试用例的设计
  • C++第五十一弹---IO流实战:高效文件读写与格式化输出
  • C++中使用分治法求最大值
  • 数据集 CULane 车道线检测 >> DataBall
  • Android CustomDialog圆角背景不生效的问题
  • C++速通LeetCode简单第9题-二叉树的最大深度
  • com.microsoft.sqlserver:sqljdbc4:jar:4.0 was not found产生原因及解决步骤
  • 【算法】 滑动窗口—最长无重复子串
  • SpringBoot2:web开发常用功能实现及原理解析-上传与下载