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

C++与OO思想的联系

一、C++与OO思想的联系

C++:OO思想(面向对象--属性和行为)

任何事务都可以被看做一个个对象,一个再复杂的模型结构都是由千千万万个对象组成。

OO思想两个要素:属性和行为(方法)。

OO思想的特点:

  1. 封装:把属性和行为结合成一个独立的单位,隐藏对象内部细节)
  2. 抽象:对一类公共问题进行统一面熟的过程
  3. 继承:子类对象拥有与基类(父类)相同的全部属性和方法
  4. 多态:基类中定义的属性和行为被子类继承后,可以具有不同的数据类型或者表现行为等特·            性

二、名字空间

 using namespace std:名字空间(C++标准库所使用的所有标识符,即类、函数、对象等的名称都是在同一个特殊的名字空间(std)中来定义的

  • 未使用 using namespace std,则调用输出流:std::cout
  • 使用 using namespace std,则调用输出流:cout
#include <iostream>
using namespace std;

int main()
{
 //....
count<<"结果是:"<<a;
return 0;

}
#include <iostream>
// using namespace std;

int main()
{
 //....
std::count<<"结果是:"<<a;
return 0;

}

三、输入输出流

1.count

count:输出流对象,console out(控制台输出)的缩写

            basic_ostream类中的对象(ostream类在iostream头文件中定义)

输出流:数据从键盘流入程序,从程序流向屏幕、打印机等

 2.cin

cin:输入流对象 ,istream类的一对象(istream类在iostream头文件中定义)。

输入流:从标准输入设备(通常为键盘)读取数据,并将其存储到变量中 。

cin>>i(>>:从输入流对象提取数据)

从键盘输入一个数据时,对应的字符将输入到操作系统的键盘缓冲区中,当点击“Enter”键时,操作系统把键盘缓冲区的内容传输到cin流的内部缓冲区,“>>”操作符随后从这个缓冲区提取需要的信息。

注意:c++中变量的位置可以在程序的任意地方声明 

3.cin、cout对象的方法 

(1)cin.ignore() 

  • 从输入流(cin)中提取并丢弃若干字符,默认丢弃1个字符,可指定忽略的字符数和终止字符;
  • 常用于清除缓冲区中不需要的字符。

(2) cin.getline()

从输入流中读取一行字符(包括空格),存储到字符数组中,遇到换行符(或达到指定的最大字符数)时停止读取(换行符被丢弃),并自动在末尾添加\0作为字符串结束标志。


(3)cin.get() 

  • 读取单个字符并返回该字符;
  • 读取多个字符(字符串)存储到字符数组中(与getline类似,但不丢弃换行符,换行符仍留在输入缓冲区中)。

(4)cin.peek()

查看cin输入流的下一个字符是什么,但不会把这个字符从输入流中取出来,也就是说输入流的状态不会改变,这个字符还留在那里等着后续被读取。


(5)cin.gcount() 

获取cin输入流中最近一次读取操作所读的字符数。

(6)cin.read()

从 cin  输入流中按照我们指定的字符数量读取字符,并存储到指定的字符数组里。和 cin.getline()  不同的是,它不会自动在字符数组末尾添加 \0  结束符,一般用于像读取二进制文件这类场景。


(7)count.precision()

用来设置浮点数输出时的精度,也就是小数点后面保留的位数。如果使用科学计数法等其他表示方式输出浮点数,它也会对相应的格式进行控制。

(8)count.width()

设置输出的宽度,就是规定输出的数据要占多少个字符位置。如果输出的数据实际宽度比我们设置的宽度小,那么会在数据前面填充空格(默认是空格)来达到设定的宽度。


未完待续。。。 

相关文章:

  • React 18 如何定义变量,及赋值 与渲染
  • python网络爬虫开发实战之网页数据的解析提取
  • docker常见的命令详细介绍
  • java小白日记38(集合-List)
  • 来源于胡椒的亚甲二氧桥CYP450-文献精读119
  • Android Window浮窗UI组件使用JetPack
  • 剑指 Offer II 111. 计算除法
  • 如何在 Linux 系统中部署 FTP 服务器:从基础配置到安全优化
  • Softmax温度调节与注意力缩放:深度神经网络中的平滑艺术
  • iStoreOS软路由对硬盘格式化分区(转化ext4)
  • Redisson分布式锁(超时释放及锁续期)
  • 已安装MFC,仍然提示“error MSB8041: 此项目需要 MFC 库”
  • 14:00面试,15:00就出来了,问的问题过于变态了。。。
  • golang errgroup用法介绍结合
  • [特殊字符] 2025蓝桥杯备赛Day8——B2118 验证子串
  • Cesium 自定义路径导航材质
  • c#知识点补充4
  • HTML5拖拽功能教程
  • C语言的结构体和C++的结构体 差异
  • 分析K8S中Node状态为`NotReady`问题
  • 陈宝良 高寿仙 彭勇︱明清社会的皇权、商帮与市井百态
  • 哈尔滨工业大学原副校长王魁业逝世,享年92岁
  • 巴基斯坦全面恢复领空开放
  • 面对非专业人士,科学家该如何提供建议
  • 告别户口本!今天起婚姻登记实现全国通办
  • 105岁八路军老战士、抗美援朝老战士谭克煜逝世