C++类和对象基础知识详解

这篇具有很好参考价值的文章主要介绍了C++类和对象基础知识详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.对象(object)

1.一切皆是对象。如下图:
C++类和对象基础知识详解

  • ·女人是一个对象
  • ·鞋子是一个对象
  • ·包包是一个对象
  • ·衣服是一个对象
  • ·裤子是一个对象
  • ·手链是一个对象

2.对象由对象组成.

这里人这个对象,由鞋子、包包、衣服、 裤子、手链等对象组成。
3.每个对象都有:

  1. a)数据(描述对象的属性)
  2. b)函数(行为操作代码)
    C++类和对象基础知识详解

2.类(class)

  1. ·具有相同属性和行为的对象,我们可以把它抽象为类。
  2. ·类是对象的抽象
  3. ·对象是类的特例
    . C++类和对象基础知识详解

3.面向对象的程序设计(OOP)

·面向过程的程序设计(Process oriented programming)
在面向过程时,我们重点围绕功能,用一个函数去实现一个功能。

·面向对象的程序设计(Object oriented programming)
在面向对象时,我们重点去描述对象的数据和功能。

a)设计所需的各种类。
b)定义各种各样的对象。
c)向相关的对象发送消息,完成具体的任务。

4.类的声明和对象的定义

1.设计类
关键字class
C++类和对象基础知识详解

  • ·数据成员

C++类和对象基础知识详解

  • ·成员函数
    C++类和对象基础知识详解
  • 访问权限

private–私有的 私有的成员只能在类的内部访问
public–公有的 公有的成员才可以在类的外部使用
protected–受保护的 先放一放。继承

C++类和对象基础知识详解

为了考虑到封装和信息隐藏,我们一般的使用原则是:
数据成员 都用private
成员函数 都用public

  • ·更加常用的方式

1.只在类的内部声明数据成员和成员函数。
2.在类的外部定义类的成员函数。
3.记得加上类的作用域。

C++类和对象基础知识详解

class和struct的区别

class 的默认权限是private
struct的默认权限是public

2.定义对象

·先声明类 再定义对象
C++类和对象基础知识详解

·声明类的同时,定义对象
C++类和对象基础知识详解

·省略类名 直接定义对象
C++类和对象基础知识详解

3.访问对象的函数

对象名.函数名;

C++类和对象基础知识详解
4.命名规范
·类名首字母大写
·对象名首字母小写

5.并非所有的成员函数都必须是公有的
如果一个成员函数,它只需要在类的内部使用,也就是这个函数只被类中的其他成员函数调用,而不需要再类的外部使用,那我们将它作为私有的成员函数。

5.类的成员函数

1.访问权限:
·一般将需要被外界调用的成员函数指定为public,这是类对外的接口。
·若函数只在类的内部调用,用来完成其他成员函数的功能,应该指定为private。
·成员函数可以访问本类中任何的成员,无论他是私有的还是公有的。C++类和对象基础知识详解
2.inline成员函数 内置函数
内联函数:
·使用内联函数节省时间,增加目标程序的长度。
·将规模很小,使用频繁的函数声明为内联函数。
·内联函数不能包含复杂的循环语句和switch语句。
·inline只是程序员对编译系统的建议。
inline成员函数:
·在类的内部直接定义的函数将被隐式地指定为内联函数。
·在类的外部显式地声明内联函数。声明 定义 inline

对象的存储方式:

  1. ·各个数据分开存储。
  2. ·成员函数共享内存。
  3. ·跟访问权限无关。
    C++类和对象基础知识详解
    6.访问对象成员
    ·私有成员只能在成员函数中引用。直接使用成员名即可。
    ·公有数据成员可以在类外访问public,但是考虑到封装和信息隐藏。不要这样做。
    ·公有成员函数可以在类外访问,这是类对外的接口。

1.访问对象中成员的3种方法:
·对象名+成员运算符
·指向对象的指针 + 指向运算符
·对象的引用变量 + 成员运算符

C++类和对象基础知识详解
2.私有数据成员如何访问?
私有数据成员,只能通过成员函数访问。
C++类和对象基础知识详解

如果要获取私有数据成员的值。
返回值:
C++类和对象基础知识详解
指针:
C++类和对象基础知识详解
引用:
C++类和对象基础知识详解
这种set和get函数去设置和获取私有数据成员是很多设计者常用的方法。几乎已经成为惯例。
7.类的封装与信息隐藏
函数的原型:
函数的封装性:
1.函数的功能是什么?
2.函数的名字是什么?
3.函数有几个参数?
4.每一个参数的类型是什么?
5.函数的返回值是什么?
函数的内部:
1.采用什么样的计算方法?
2.采用什么样的程序结构?
3.怎样得到计算结果?
4.怎么返回数据?
5.性能如何保证?

这样的话,有些人专注于函数内部的具体实现。有些人则只需要知道函数怎么用就可以了。对于一个开发团队来讲,这样的设计绝对是恰到好处的。

对于类来说也是同样的道理:
·C++通过类来实现封装性,把数据和跟数据相关的函数封装在类中。
·声明一个类之后,用户只需要调用类的公用接口来实现具体的功能—消息传递
·用户不必关心功能是如何实现的,只需要知道用哪一个函数可以实现什么样的功能–信息隐藏
·类中被操作的数据是私有的,函数的实现细节是隐蔽的–私有实现
C++类和对象基础知识详解

补充2个概念:
方法:类的成员函数
消息:对公有成员函数的调用

如果在一个项目开发里面涉及到很多个类,可能几百上千个类,那么类和类之间的关系式错综复杂的,如果在设计这样的程序里面,我要把每一个类里面的细节都搞清楚,这样的认知成本就太高了。而现在有了封装和信息隐藏,在整个团队里面,我们只需要知道类的公用接口就可以了,而不需要知道它的私有实现。分工明确,开发效率高。

面向对象的程序设计特性:
封装性
将数据和相关的代码封装在一个对象中。各个对象之间相对独立,互不干扰。
将对象的数据隐藏,隐藏内部实现的细节,只留下一部分接口。

抽象性
类是对象的抽象,对象是类的特例。

继承性
把最重要的特征,解决软件的重用。

多态性
由继承性产生相关不同的类。不同的对象,对象对同样的消息会做出不一样的反应。

基于对象的程序设计: 封装 抽象
面向对象的程序设计:封装 抽象 继承 多态.文章来源地址https://www.toymoban.com/news/detail-411053.html

到了这里,关于C++类和对象基础知识详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【C++】入门基础知识详解(二)

    【C++】入门基础知识详解(二)

    目录 一、内联函数 1、概念 2、特性 3、内联函数与宏的优缺点 二、auto(C++11)   1、auto 简介   2、auto的使用细则     2.1 auto与指针和引用结合起来使用     2.2 在同一行定义多个变量   3、auto不能推导的场景     3.1 auto 不能作为函数的参数     3.2 auto 不能直接用来声

    2024年02月11日
    浏览(11)
  • 【C++】入门基础知识详解(一)

    【C++】入门基础知识详解(一)

    目录 一、C++ 二、命名空间   1、命名空间的定义   2、命名空间的使用 三、C++输入输出 四、缺省参数   1、缺省参数的概念   2、缺省参数的分类     2.1 全缺省参数     2.2 半缺省参数 我们在学习C++之前,我相信大家大多数都对C语言多多少少都有所了解,C语言的关键

    2024年02月12日
    浏览(17)
  • C++类和对象——多态详解

    C++类和对象——多态详解

    目录 1.多态的基本语法 2.多态的原理剖析 示例:计算机类  3.纯虚函数和抽象类 示例:制作饮品 4.虚析构和纯虚析构  示例:电脑组装 代码示例:   空类的大小为1  加了virtual后会变为4或8个字节,这恰好是一个指针的大小   vfptr是一个虚函数(表)指针 当子类重写父类的

    2024年02月22日
    浏览(10)
  • 详解C++类和对象(下篇)

    详解C++类和对象(下篇)

    目录 一,再谈构造函数  1.1 构造函数体赋值  1. 2 初始化列表  1.21 自定义类型成员  1.22  const 成员变量 1.23 引用成员变量   1. 24 初始化列表的“坑” 1. 3 explicit   二,static 成员 2.1 概念  2.2 特性  三, 友元 3. 1 友元函数 3. 2 友元类  特点:  3. 3 内部类(了解)

    2024年02月04日
    浏览(22)
  • C++ | 一些你所忽略的类和对象小知识

    C++ | 一些你所忽略的类和对象小知识

    在深度探索类的六大天选之子中,我们学习了类和对象的构造函数,知道了其可以用来初始化成员变量,也学了一些它的相关语法特性,但是C++中的构造函数真的就只是这样吗?本模块我们继续来谈谈有关构造函数的一些知识点 引入 我们知道,对于下面这个类A的成员变量

    2024年02月04日
    浏览(9)
  • 【C++基础(五)】类和对象(上)

    【C++基础(五)】类和对象(上)

    💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C++初阶之路⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C++   🔝🔝 C语言是面向过程的语言 关注的是过程 而C++是面向对象的语言 关注的是对象 而类和对象就是面向对象的基础! C++为了兼容C语言 保留了原先的玩

    2024年02月16日
    浏览(7)
  • SAP Fiori开发中的JavaScript基础知识15 - 原型,object,constructor,class,继承

    SAP Fiori开发中的JavaScript基础知识15 - 原型,object,constructor,class,继承

    本文将介绍JavaScript中的核心概念 - 原型,并会介绍基于原型的应用场景object,constructor,class,继承。 本文会将这几个核心概念汇总在一篇博客中,因为这些概念是触类旁通的,希望对你有帮助。 在JavaScript中,几乎所有的东西都是对象,每个对象都有一个 特殊的内部属性

    2024年04月23日
    浏览(26)
  • C++ ------类和对象详解六大默认成员函数

    C++ ------类和对象详解六大默认成员函数

    如果我们定义一个类,然后这个类中什么也没有。那么这里的类就什么也没有吗?其实不然,任何类在里面什么都不写时,编译器都会生成6个默认成员函数。 用户没有显式实现,编译器会生成的成员函数称为默认成员函数。 六个默认成员函数 我们来看一个Date类 观察上述代

    2024年02月15日
    浏览(17)
  • C++关于类和对象的基础语法

    C++关于类和对象的基础语法

    目录 前言: 1.OO语言 2.类的定义 3.类的访问限定符与封装的引入 4.类的实例化 5.this指针(很重要) 6.this空指针问题 总结: 类的访问限定符与this指针很重要,在后面会一直用,下一章将会介绍六大默认成员函数。 1.OO语言 谈到类,就离不开对象,而像我们的c++,Java也

    2024年03月23日
    浏览(11)
  • 【C++精华铺】6.C++类和对象(下)类与对象的知识补充及编译器优化

    【C++精华铺】6.C++类和对象(下)类与对象的知识补充及编译器优化

    目录 1. 再谈构造 1.1 成员变量的初始化(初始化列表) 1.2 初始化列表的行为 1.3 explicit  2. 类中的static成员 2.1 静态成员变量 2.2 静态成员函数 3. 友元 3.1 友元函数 3.1 友元类 4. 内部类  5. 匿名对象  6. 对象拷贝时候的编译器优化           为什么还要去看初始化的问

    2024年02月13日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包