C语言与C++的区别?

c++与c相比最突出的部分就是多了一个类的概念,由此衍生出了封装,继承,重载,多态。

封装的概念有点像c语言里的结构体,但是结构体不能够成员函数,也不能定义变量的访问权限,也不能够被继承。

而继承就是一个类可以由其父类继承得到,如你定义了一个类为 动物,你可由动物这个类来定义 狗 猪 等等类别。

而重载就是最容易理解的是运算符的重载, 比如在c语言里面的 - 运算符不能够直接实现 (2008.5.1 - 2006.1.2)的运算,而在c++中通过运算符的重载就可以直接实现如上的日期运算了。

而多态比较难以概括,还要涉及到虚函数的概念,简单的说就是可以更具类别来选择相应的成员函数的实现形式。

比如在动物类里面有一个走的动作为虚函数,比如它的实现是通过4条腿移动来完成。

现在定义了两个类别,人 和 狗。

人就需要重新修改 走 这个动做(双腿行走), 而 狗 就不需要(四腿行走)。

此时如果通过 类动物 来声明一个类指针,如果指针指向人,调用走的时候,就会自动的调用 (双腿行走) 而指向 狗 则会调用 (四腿行走)。

则这就是同一个走出现了两种实现。

也就是多态了。

如果能够真正理解这些概念,对于c++的学习,以及Vc中mFc的学习都是很有帮助的。

原文地址:科技数码  https://www.weidianyuedu.com/content/4320553769249.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值