韦东山android驱动开发视频 (韦东山第二期视频)

韦东山第4期Android视频-C++快速入门-第1课第1节_c++类的引入

该系列文章主要整理了C++相关的知识点。对我个人而言,学习C++是为了能阅读理解Android源码里的C++代码,进而理解Android系统为什么要使用C++,并且是如何利用C++实现特定功能的。在Android实战中加深对C++的理解,边学边用,这样学习的效率才是最高的。

参考:

《韦东山第4期视频-Android-C++快速入门-第1课第1节_c++类的引入》

代码:

https://github.com/wuweidong0107/cpp_projects

C语言如何实现面向对象?

c语言通过结构体实现面向对象,普通变量保存数据,函数指针定义行为,例如:

韦东山第4期Android视频-C++快速入门-第1课第1节_c++类的引入

编译步骤:

$ gcc person4.cpp

看上去很累赘,明明是persons[0]在调用printInfo了还要将persons[0]传递进去。

C++里的结构体如何实现面向对象?

在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数,并且能在函数里访问结构体的成员,例如:

韦东山第4期Android视频-C++快速入门-第1课第1节_c++类的引入

编译步骤:

$ g++ person5.cpp

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

点击这里找小助理0元领取:加微信领取资料

韦东山第4期Android视频-C++快速入门-第1课第1节_c++类的引入

韦东山第4期Android视频-C++快速入门-第1课第1节_c++类的引入

C++中用类取代结构体来实现面向对象

C++中结构体和类的异同

1) 相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后,可以用结构体名来创建对象,也就是说在C++当中,结构体中可以有成员变量,可以有成员函数,可以从别的类继承,也可以被别的类继承,可以有虚函数。

2) 不同之处:结构体定义中默认情况下的成员是public,而类定义中的默认情况下的成员是private的。类中的非static成员函数有this指针,类的关键字class能作为template模板的关键字 即template<classT> class A{}; 而struct不可以。

C中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的,而到C++中一个类或者一个结构体可以包含函数(这个函数在C++我们通常中称为成员函数),C++中的结构体和类体现了数据结构和算法的结合。

韦东山第4期Android视频-C++快速入门-第1课第1节_c++类的引入

编译步骤:

$ g++ person6.cpp

可以看出来,就算person被定义为了class,仍然可以将其当做struct来使用,说明class本身就是struct扩展而来的。

类的正常用法

韦东山第4期Android视频-C++快速入门-第1课第1节_c++类的引入

编译步骤:

$ g++ person7.cpp

面向对象编程的4大核心:抽象、封装、继承、多态,后面C++的学习将围绕着这4个核心展开。

文章链接:https://mp.weixin.qq.com/s/JPLi_IUxGi4VH8M5p5YpPw

转载自:老吴嵌入式 ,作者 可爱的东东

文章链接:韦东山第4期Android视频-C++快速入门-第1课第1节_c++类的引入-学习笔记