C++学习笔录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fengxianghui01/article/details/81939188

1、命名空间的作用:区分同名函数;


2、C++中的注释,常用#if 0  #endif组合;


3、C与C++之间的区别:1)结构体的使用;2)空间的申请与释放【malloc和free,new和delete】;


4、申请对象时用new和delete,申请单个空间时用malloc和free;
5、C++中初始化函数:memset(),常用于清零操作;


6、引用:1)变量的引用:如int &c=a;此时,a和c指向同一块内存;2)常量的引用:const int &c=14;3)数组的引用:int arr[12];    int(&p)[12] = arr;    arr[11] = 120;    cout << p[11] << endl;4)指针的引用:    int b = 15;    int *point = &b;int* (&p1) = point;cout << b << *point << *p1 << endl;5)引用做实参:void fun(int& b);fun(b);6)引用作为函数的返回值:int& fun2();int& b = fun2();

注意:

        引用和指针的区别:指针就是地址,对应内存,使用起来稍不注意就会内存泄漏,非常不安全,C++为了解决这个问题采用了引用的概念。详细解析:https://blog.csdn.net/zhengqijun_/article/details/54980769

引用作为返回值,详细解析:https://blog.csdn.net/duhengqi/article/details/70198630

堆区和栈区的区别:https://blog.csdn.net/u010497938/article/details/47845625

7、函数重载:函数名相同,参数列表不同。在c语言中没有重装,返回值不作为函数重载的条件,给予不同的实参,将调用不同的重载函数; 

扫描二维码关注公众号,回复: 2920646 查看本文章

8、类:分为公有成员(public)、私有成员(privated)、保护成员(protected)变量三种;

公有成员作用域:类外可见;私有成员作用域:类内可见,纯私有;保护成员作用域:类内及其子类可见

公有成员常作为接口,因为公有,对类外可见,所以类外均可访问。当没有定义类型时,类中成员默认为私有成员

解释:什么是公有成员?比如人这个种类,都是由鼻子、嘴巴、耳朵等器官组成,那么大家都有的就是公有成员,每个对象都可以使用的。什么是私有成员 ?就是只能在这个类里面使用,类中的公有成员(public修饰的)可以访问,但是对象不能访问私有成员。比如:其实类内和类外的区别就是class定义的类型之中和之外。

类的结构的定义同结构体相似,关键字:结构体(struct),类(class)。访问必须通过对象进行访问。结构体中成员默认为public,而类默认为private。

类中所有的类型,对于友元函数均可见。如下,需要在类中进行友元申明:friend + 函数原形。定义了一个友元函数和友元类。

9、构造函数:用于初始化类中变量,在申明对象时自动调用。

类的指针变量的申明:

10、析构函数:释放类所占空间

main函数中调用格式:

10、static和const

11、拷贝构造函数

        拷贝构造函数,又称复制构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其形参必须是引用,但并不限制为const,一般普遍的会加上const限制。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。

12、内敛函数

13、运算符重载(operator):运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。

例如:对象和整数相加,需要“+”运算符重载

将“+”两边的参数传递给重载函数,需要的运算符重载函数为,参数列表对应:

类内:参数列表只写“+”号两边中的另一个,默认存在类的引用

类外:参数列表对应“+”两边参数

参数列表需要为“引用”,

14、继承:通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承

例:小孩儿、成年人和老人都具有学习的属性,继承能提高“学习”这个属性的重用性。

继承的写法:关键字(public),基类(父类)、派生类(子类)

实例:

 

15 、小知识点

(1)类型转换:

16、模板

写法:

(2)、模板具体化,以下以结构体为例,“”< >“”里面传入的是需要具体化的类型,比如:Node、int等其他类型。模板具体化对于模板优先执行,而普通函数的优先级高于模板具体化。

(3)、类模板,在进行实例化的时候需要对应。当模板参数列表存在多个的时候,指定的时候要从右向左依次指定,仅允许在类模板上指定参数。

申明指针对象的操作:

(4)、继承的模板:需要填写继承的模板参数列表,并且,在子类的构造函数中时需要对父类的构造函数进行初始化列表。

在子类创建对象的时候不需要传递模板参数列表。

子类也可以采用模板操作:在申明对象的时候模板参数列表需要初始化

(5)多态模板

17、STL(标准模板库)

猜你喜欢

转载自blog.csdn.net/fengxianghui01/article/details/81939188