c++总结

c++总结

   感受:经过了这几周的c++学习,基本上对c++有了一个较为深入的了解,总体来说还不错,因为疫情影响在家里不出门,便有了充分的时间去写程序,从一个什么都不会的小白,写程序变得基本熟练了起来,基本上老师讲的程序都自己写了一遍,但是仍然有很多的东西需要掌握,做过去的知识点特别的容易遗忘,学过的东西现在已经忘了许多,自己想重新看一遍上课回放,复习巩固这些知识点,c++在难度上是非常大的,如果不好好学的话会有挂科的风险。
   下面我对这几周的c++学习中需要注意的地方做一个总结:
   **递归**:层层分解若干个子问题,从小规模入手,另外还要注意递归结束时的条件,以及快速幂的问题,使用快速幂可以很好的提高算法的效率,另外利用swap函数可以很好地解决两个值之间的互换问题,当使用不同数据类型时可以使用结构体。结构体和类最后的时候要加分号,在排序问题中可以直接用**sort函数**,了解了结构体,把不同类型、不同含义的数据当作一个整体来处理,以及结构体里面的重载运算符。
   结构体以及重载运算符:使用结构体,必须要先声明一个结构体类型,再定义和使用结构体变量,重载时可以定义一个结构体数组,可以对这个结构体数组整体进行操作。 引用结构体变量中成员的格式为:结构体变量名. 成员名;。
   **string**:使用string类时要用<string>**没有.h**用cin时键盘输入按空格或回车结束,还可以利用getline()函数进行输入操作,另外想要解释按ctrl+z,
   指针:指针不能保存非地址值,也不能被赋值或初始化为不同类型的地址值。

指针变量例如p=&a指向a内存地址,一定要写&,否则错误,并且指针变量不能有二异性,表示空指针可以赋值为0,也可以为null,但是得加函数头。
动态分配,静态分配:注意动态分配空间中int[]是多个数的,并不是单个,int()是单个初始值,在进行引用的时候一定要进行初始化工作,而指针类型可以之后绑定
在定义对象时一定要先定义类再使用对象,构造函数创建对象时,通过指针和new来实现,可以使用构造函数的初始化列表进行初始化 ,例如日期类,new运算符分配的空间用delete运算符释放,delete 指针,delete[] 指针。
引用:引用必须被初始化,初始值是一个有内存地址的对象,引用并非对象,是为已存在的对象所起的另一个名字
引用只能绑定到对象(有内存地址)上,不能与字面值或某个表达式的计算结果绑定在一起。
类和对象,含有const指针:Date(int dd, int mm, int yy):d(dd),m(mm),y(yy) { }构造函数一般被定义为公有成员,还有get以及set函数,析构函数没有返回值,不能有参数,也不能重载,一个类中只有一个,使用this指针需要注意:1.当参数与成员变量名相同时,写成this->x = x.。2.在类的非静态成员函数中返回类对象本身或对象的引用的时候,直接使用 return *this,*当返回本对象的地址时,为return this。应当注意const限定和指针限定之间的一些关系,例如const *int const pi;第一个const是是限定指针指向单元是一个常量,第二个是表示指针的值是一个常量."指针指向数组时注意:a[i]=(a+i) ; 。 **
当没有定义构造函数时,系统会自动调用缺省的构造函数,另外
构造函数必须重载
无返回类型,当自己定义构造函数时一定要调用无参的构造函数
析构函数一个类中只有一个,而且没有参数。
当参数与变量名相同时,写成this->x=x;
复制构造函数要有一个类类型的引用参数,浅复制只复制了数据成员,没有复制他的资源,当进行深复制时成员变量的处理
:对复杂类型的成员变量,使用new操作符进行空间的申请,再进行相关的复制操作**。静态函数仅可以访问静态成员,静态成员函数主要用来访问同一类中的静态数据成员。 私有静态成员函数不能在类外部或用对象访问
或是静态成员函数或是静态数据成员。

可以用友元函数,但是它破坏了程序的封装性,因此只能用在运算符重载的时候,运算符函数可以重载为成员函数或友元函数,双目运算符一般可以被重载为友元运算符函数或成员运算符函数,但当操作数类型不相同时,必须使用友元函数。重载输出运算符“<<”和“>>”(只能被重载成友元函数,不能重载成成员函数, 常成员函数不能更新对象的数据,也不能调用非const修饰的成员函数(静态成员函数、构造函数除外)。静态数据成员为同类对象共享类的普通数据成员,每一个对象都各自拥有一个副本。(分配不同的存储空间)**. :: .
?: sizeof 不能够重载** C++中不能用友元函数重载的运算符有: = () [] ->重载时,友元函数没有 this 指针,所需操作数都必须在参数表显式声明,很容易实现类型的隐式转换,[] 和 () 只能用成员函数重载。
以上是我对c++写程序的时候需要注意的问题,自己对c++的掌握程度还是太浅,后面的继承和接口后面可能会更难,因此我会会更加努力的学习,争取取得一个好的成绩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值