IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 10.对象与类 2022/04/12 -> 正文阅读

[C++知识库]10.对象与类 2022/04/12

0.编程规范

  • 类名首字母大写
  • 数据项通常私有,成员函数通常共有
  • 类对象默认访问控制为private
  • 类实现与类声明可以分开放在不同文件
  • 数据成员名中使用m_前缀或者——后缀

1.过程性编程与面向对象编程

前者:首先考虑要遵循的步骤,然后考虑如何表示这些数据
后者:首先考虑数据,以及如何使用数据——描述对象所需数据以及描述用户与数据交互所需的操作(接口)——再确定如何实现接口和数据存储

2.类规范

2.0 类声明与类方法定义

  • 类声明:用数据成员方式描述数据部分,用成员函数方式描述公共接口
    1)成员函数可以就地定义或者使用原型
    2)就地定义的函数自动成为内联函数(通常比较短小)
    3)内联函数要求——再对每个使用他们的文件中都对其进行定义
    4)将内联定义放在定义类的头文件中

  • 类方法定义:如何实现类成员函数
    1 )用作用域解析运算符(::)来标识

 void  类名::函数名()

2 )可以访问类的private组件

2.1 私有成员函数

  • 私有成员函数存在的意义——避免冗余代码
  • 私有成员函数——仅供当前类的其他私有成员函数以及公有函数调用
  • 在设计与实现一个类时——优先设计类的私有成员函数——依赖于该私有成员函数的其他函数
  • 对私有成员变量而言,即是除了当前所属类,其他类无权访问,哪怕是其子类尽管持有该成员。

2.2 对象的存储

  • 每个新对象都有自己的存储空间——存储内部变量与类成员
  • 同一个类的所有对象共享同一组类方法(每种方法只有一个副本)

3.构造函数与析构函数

3.1 构造函数

特征:

  • 无返回值
  • 无声明类型

声明与定义

  • 原型位于类声明的共有部分
  • 参数名不能与类成员相同

使用

  • 显式 (指出析构函数名字)
  • 隐式(省略)
  • 程序声明对象时,自动调用析构函数
  • 对象无法调用析构函数(构造函数是用来创建对象的)

3.1.1 默认构造函数

只有在没有定义任何构造函数时,编译器才会提供,否则声明时没有构造函数会出错——目的——禁止创建未初始化的对象

定义默认构造函数的方式

  • 给已构函数的所有参数提供默认值
  • 函数重载——一个没有参数的构造函数
Stock stock1;  注意没有括号
Stock stock2(); 表示这是一个函数

但是只要能有一个默认构造函数

3.2 析构函数

原型

~类名();

定义:

类名::~类名(
{
)

使用时机:通常不该在代码中显示调用析构函数

如果构造函数使用了new,则必须提供使用delete的析构函数

4.this指针

指向用来调用成员函数的对象(this被作为隐藏参数传递给方法)
每个成员函数都有也给this 指针
如果需要调用整个对象,使用*this,在函数的括号后面使用const将this限定可以防止修改

const Stock & Stock::topval(const Stock & s) const
{
	if(s.total_val >total_val)
	return s;
	else 
	return *this;
 } 

5.对象数组 ?

6.类作用域?

7.抽象数据类型?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-13 22:34:39  更:2022-04-13 22:35:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:53:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码