学习了C++的一些知识,因为Java是用C写的,而C++是对C的封装,所以有java基础,学C++不难。
C++在形式上比java繁琐,比如要有main方法,函数定义,成员变量赋值,静态成员赋值等。
但是C++有指针类型,所以在操作类,函数,数组上,更灵活,这也是一个难点,但理解了指针,我们对内存的底层分析就更好理解了。
C++和java都是面向对象的语言,在封装,继承,多态三个基本特性上的表现基本一样。对成员变量的访问权限(private,public,protected)。在继承方面,c++ 支持多继承,所以有二义性问题,需要使用作用域限定符限制同名函数具体属于哪个类。涉及到多态,有关键的两点:重载和虚函数。重载在这里不再赘述,记住关键性两点:函数名相同,参数列表不同;多态的关键之处是:一切用指向基类的指针或引用操作对象。使用虚函数,可以保证用基类的指针来调用子类的函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。关于虚函数的解释,详情请见:C++中虚函数的作用是什么?它应该怎么用呢?。
还有印象很深的就是友元函数,扩展函数的一种方式,破坏了对象封装的特性,但可以通过友元函数访问其他类的成员变量,更灵活。
以上是博主对C++的整体认识和与java做的一些区分,后续会继续学习,分享。