首页 > 编程语言 > 详细

C++ 重点归类(软考准备)

时间:2014-09-22 23:19:04      阅读:425      评论:0      收藏:0      [点我收藏+]

    又一次参加了等级考试,不得不说自己的脸皮真的很厚,但是反复的考试、反复的学习也让自己对C++这门语言有了更深的认识。回顾一下比较重要的一些知识点大概如下所示:

重载

    重载包括函数重载和运算符的重载。函数重载指一个函数名对应对各函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回类型不同而参数类型和个数相同的重载,简言之就是参数的类型和个数有所不同的函数才可以称得上是重载。运算符的重载有以下规则需要注意:

1.不允许用户自定义新的运算符,只能对已有的运算符进行重载

2.“.”、“.*”、“::”、“?:”、“->”五个运算符不能重载;

3.重载不能改变运算符的优先级和结合性性、不能改变用算符的个数、不能有默认的参数;

4.一般情况下,单目运算符最好重载为成员函数、双目运算符最好重载为友元函数,但需要注意的是双目运算符=、()、[ ]、-- >不能重载为友元函数; 类型转换函数只能定义为类的成员函数,不能定义为类的友元函数;如果运算符中的操作数存在隐式类型转换,则只能重载为友元函数;

5.当运算符函数是类的成员函数是,最左边的操作数必须是运算符类的一个类对象(或者是该类对象的应用,用&表示);如果是友元函数,这最左边的操作数必须是该友元函数所在类的对象;


构造函数和析构函数

    构造、析构函数可以说是C++中的重中之重,它是区别于其他语言的一个标志。当实例化一个对象的时候会通过构造函数来为这个对象分配空间,而在这个对象被使用完毕的时候会通过析构函数来释放相应的空间。关于构造函数和析构函数的具体分析自己也在之前的博客《C++构造函数和析构函数》做了比较详细的介绍。构造函数中有一个特例拷贝构造函数,它与构造函数的唯一区别就是它的形参是本类的对象的引用,示例

<span style="font-family:KaiTi_GB2312;font-size:18px;">	Class clock{
		Private:
			Int H,M,S;
		Public:
			Clock(int h,int m,int s):H(h),M(m),S(s){}               //构造函数
			
		Clock(clock &p){                                                //拷贝构造函数
			H=p.H;
			M=p.M;
			S=p.S;
		}
	

<span style="white-space:pre">	</span>}</span>
    构造函数中比较重要的就是初始化的部分,分为参数列表初始化和函数体内部初始化,上例中“构造函数”部分就是参数列表初始化的形式,而“拷贝构造函数”部分是在函数体内完成了初始化,他们都实现了对私有变量的初始化,但需要注意的是const成员变量和引用类型的变量应该用列表初始化的形式。当然由于构造函数也可以重载,所以具体调用构造函数是会根据不同的条件去调用不同的构造函数。

    这里想简单介绍一下const和static这两个关键字,const修饰的有常对象和常成员,常对象不能被赋值,必须有构造函数初始化,而常数据成员也必须由构造函数初始化(又回到了上边所说的注意事项了);static这个关键字修饰的静态数据成员是属于一个类的,可以被类直接使用,不会因为实例化对象而发生改变。这一部分的总结不是很全面,还请大家多多指教。


零碎知识点

    对于成员函数的引用有两种方式:类直接引用,需要用作用域符号“::”;对象引用,需要用“.”来引用;同样也可以通过this指针来引用;

    void 定义的函数没有返回值,形式上就是没有return语句;


算法

    算法一直是各种语言中不可或缺的知识,C++中也会考到很多经典的算法,这里就不一一介绍了。

    真的是对知识对一次研究就会多一些理解,一次次的备考让自己对C++的理解一步步地加深,同时也将会为自己软考做好充分的准备,对于此次的考试也只能当做一次享受了。

 


C++ 重点归类(软考准备)

原文:http://blog.csdn.net/u010508826/article/details/39457673

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!