本文主要是介绍侯捷-课程笔记 1-5节,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
总结一下今天学习到的知识点:
一.c++和c语言相对比,重要的特性即是:c++是面向对象的一门语言,而c语言是面向过程的一门语言。
类是c++中一种抽象的数据类型,是由用户自己定义的。
封装:可以隐藏对象的实现细节,与此同时它可以对外提供访问的方式,便于调用者的使用,提高了安全性.例如:将公有的数据和方法使用public修饰,而将不希望被访问的数据使用private来修饰。
继承:
是提高代码复用的一种方式,新的类可以获得原有类的所有功能,并且在不需要编写原来类的情况下对这些功能进行扩展,增加新的功能,这样的类叫做派生类。
例如:我现在要买房,需要100万,我可以继承妈妈给的50万(直接使用),之后的50万可以通过自己打工赚钱(新的功能)去获得,最终可以成功购买这套房。
多态:暂时先不写了~
二.c++ 中的构造函数:
- 是被编译器自动调用的,它主要的作用是为对象开辟空间,并且完成对数据成员的初始化功能。构造函数:应尽可能的采用初始化列表的方式,而不要写在大括号内。
- c++中的构造函数:是可以进行函数重载的。即函数名可以相同,但是给定的形参(形参的类型和形参的个数)不同。这里需要注意,还有默认值的构造函数和任何形参都没有的构造函数是不能构成重载的。
- c++中的构造函数也可以被定义在private中,这样做的目的是为了防止外界实例化对象,可以被用在单例模式中,后面再总结。
- 不带指针的成员变量:一般不需要写析构函数。
class test()
{//这种写法是错误的,因为如果给定test a;编译器会认为:第一种写法和第二种写法都可以,这是不被允许的。test():{}test(int a=0;int b=0):_a(a),_b(b){};private:int _a;int _b;
};
面试经常爱问的题目:函数重载和函数重写以及函数重定义的不同之处是什么?
三. 类中的成员函数中的参数和函数的返回值:优先考虑使用引用的方式去传递,然后再考虑:是否可以使用引用来传递。如果函数的返回值是local-object,那么就不可以采用引用的方式去返回。
四.优先考虑一个函数是否可以是一个常方法:即函数后面加上const。如果成员变量不会发生改变的化,那么就需要加上const。
五.friend函数:如果一个函数被定义为一个类的友元,那么该函数可以访问该类的成员变量。我是你的朋友,所以你的数据我可以访问。
六.相同类的object互为友元。
这篇关于侯捷-课程笔记 1-5节的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!