fiverhythm 发表于 2019-12-25 15:35:41

为什么C的print不是对象,而C++的cout是对象?

听小甲鱼的C++课程有点懵:

C的print不也是从stdio被include的吗?
C++的cout也是从iostream被include的吗?

那为什么C++的cout是面向对象,而C的printf是面向过程?是函数不是对象?绕晕了。。。求解

Croper 发表于 2019-12-25 18:30:29

本帖最后由 Croper 于 2019-12-25 18:35 编辑

非要纠结这种问题没什么意义啊。。。
非要说的话,printf是一个函数,它只能像
printf(formate_str,...)这样使用。
而cout本身是类std::ostream的一个实例,它拥有自己的属性和方法。所以是一个对象。
面向对象是一种思想,而不是纠结于这个是对象,那个不是对象- -

Tec 发表于 2019-12-25 20:19:26

printf仅仅是一个函数,只有自身一种方法,
而cout可以重载<<运算符,还有cout.put,cout.write等方法
正如楼上所说的cout拥有自己的属性和方法。所以是一个对象。

fiverhythm 发表于 2019-12-27 10:30:25

Croper 发表于 2019-12-25 18:30
非要纠结这种问题没什么意义啊。。。
非要说的话,printf是一个函数,它只能像
printf(formate_str,...) ...

谢谢解答~~~

fiverhythm 发表于 2019-12-27 10:31:09

Tec 发表于 2019-12-25 20:19
printf仅仅是一个函数,只有自身一种方法,
而cout可以重载

谢谢解惑~~~{:9_228:}
页: [1]
查看完整版本: 为什么C的print不是对象,而C++的cout是对象?