前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小朋友学C++(2):面向过程与面向对象

小朋友学C++(2):面向过程与面向对象

作者头像
海天一树
发布2018-04-17 12:07:46
5680
发布2018-04-17 12:07:46
举报
文章被收录于专栏:海天一树海天一树

先用C++编写一个加法程序

代码语言:javascript
复制
#include <iostream>
using namespace std;
int add(int a, int b)
{
    return a + b;
}
int main()
{
    int x = 5, y = 10;
    int z = add(5, 10);
    cout << "x = " << x << endl;
    cout << "y = " << y << endl;
    cout << "x + y = " << z << endl;
    return 0;
}

运行结果:

代码语言:javascript
复制
x = 5
y = 10
x + y = 15

从上一节的Hello World程序和本节的加法程序来看,C和C++貌似看起来差不多,只是修改了一些头文件和语法而已。那么,二者真的高度相似吗? 答案是否定的!C和C++差别非常大。 C是面向过程的。 C++既可以面向过程,也可以面向对象,并且以面向对象为主。 为何要以面向对象为主呢?因为若只是面向过程,用C语言就行了,不用再劳心劳力再创造一种新的语言。C++是一些聪明的程序员在C的基础上创造、发展起来的,与C语言最大的区别就是面向对象。

C语言的重点在于算法和数据结构,C程序的设计首要考虑的是如何通过一个过程,对输入进行运算处理得到输出。 所以c语言是面向过程语言。

而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程控制。 从这一点看,C++是面向对象编程(OOP)的。 C++还像C语言一样面向过程。 所以C++既是面向过程的语言 ,也是面向对象的语言。一般来说,用它的面向对象这方面。

以后会学到Java。Java不能面向过程,是完全面向对象的。

以狗吃屎为例,来说明面向过程和面向过对象的区别。

C语言:吃(狗,屎) 这里“吃”是函数名,“狗”和“屎”是参数。强调的是吃这一过程。

C++:狗.吃屎() 这里狗是对象,吃屎是狗的一个函数。语法是一个完整的主谓宾结构。主语是“狗”,谓语是“吃”,宾语是“屎”。 狗除了吃屎外,还有其他行为,比如汪汪叫,伸舌头等。语法为 狗.汪汪叫() 狗.伸舌头() 这一系列行为里,强调的是“谁来做”,这里是狗来做,所以强调的是狗这一对象。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档