软件设计师教程知识点精讲之c++面向编程“良方”

软件设计师 责任编辑:长颈鹿 2016-07-20

添加老师微信

备考咨询

加我微信

摘要:2016下半年软考软件设计师报名即将开始,同学们是否在学习过程中遇到了一些困难,下面由希赛软考学院为打算参加下半年考试的你们准备了一些软件设计师教程知识点精讲之c++面向对象编程“良方”,希望对大家有所帮助。

      >>>>点击进入了解软件设计师培训视频

>>>>点击进入了解软件设计师在线辅导 

>>>>点击进入了解软件设计师面授班 

      2016下半年软考软件设计师报名即将开始,同学们是否在学习过程中遇到了一些困难,下面由希赛软考网为打算参加下半年考试的你们准备了一些软件设计师教程知识点精讲之c++面向对象编程常用“良方”,希望对大家有所帮助。 

      药方1、必需时刻明白面向对象编程中要扮演的两个角色,一个就是你,类的设计者,一个就是用户,类的使用者,你的设计是针对用户而言的,当然你也可能是身兼两职,同时是设计者又是用户。

      药方2、设计一个类时,将声明放于头文件,定义放在cpp文件中,因为类是给用户使用的,将声明放在头文件中,用户便可以方便使用,而定义在cpp文件中主要是为了两点,一提高编译效率,二避免用户包含文件后发生重定义。

      药方3、声明完一个类后必须以分号结束,因为声明完一个类后后面还可以加一个对象名,用来声明该类的实例化对象,分号‘;’不是表示声明的结束,而是表示声明该类对象的结束,如果单纯一个分号表示没有声明任一对象。

      药方4、避免在构造函数里实例化本类,否则会发生递归死循环。

      药方5、避免在析构函数里delete本类实例,否则会发生递归死循环。

      药方6 、inline成员函数必须在头文件里定义,因为inline函数本质是内联展开的,跟#define预编译类似。

      药方7、 hpp头文件里的类或函数必须在hpp头文件里定义,因为hpp的本质是让编译器只对hpp文件里的内容编译一次,然后将目标代码附到cpp目标文件中。

      药方8、 hpp头文件里的全局变量必须声明为static否则会发生重编译,static本质是让编译器只定义一次。

      药方9、 const数据成员必须要在初始化列表中赋初值(c++11中也可以直接=号赋值),因为它是const变量。

      药方10、 const成员函数不允许你修改类的数据成员。因为它就是不予许。

      药方11、指向const对象的指针访问成员函数时,只能访问const成员函数,因为指向const对象的指针不予许你修改它所指向的内存的值,而const成员函数不修改类对象数据内存的值,它们俩正好互相吻合。

      药方12、 static数据成员需要在类外定义,它本质上并非属于包含它的类。

      药方13、 static成员函数不包含this指针,因为它本质上并非属于本类。

      药方14、如果类中的某一指针数据成员指向分配的内存空间,则一般的做法是定义析构函数,在析构函数里释放它所指的内存空间。因为类的生命周期结束时,如果没有定义析构函数,则会调用编辑器合成的析构函数,而该合成的析构函数不会智能地释放数据成员指针所指向的内存,所以必须在类结束之前释放它指向的内存。还有另一种做法就是将该成员指针定义为智能指针类型。

      药方15、操作符重载不能重载两个内置类型的对象,至少要有一个为类类型或枚举类型。因为重载两个内置类型的对象完全没有必要。

      药方16、赋值操作符重载(operator=),不宜设为虚函数,因为赋值操作符中的指针或引用函数参数有可能是指向基类对象也有可能是指向派生类对象,因此容易发生混淆。

      药方17、在继承层次中,基类应该定义一个虚析构函数,因为非虚析构函数不会被继承,而虚析构函数会在派生类定义析构函数时发生重定义(就是虚表指针指向了派生类的析构函数)。在利用基类指针实现多态时,基类指针指向了新开辟(new)的派生类对象,这时由于基类的析构函数是虚的,所以再利用基类指针释放(delete)掉派生类对象内存时,就可以顺利地执行派生类的析构函数了。

      药方18、模板类或函数,在头文件中声明,并且,定义也要在此头文件中(一般采用hpp头文件),因为模板特化机制实际上是编译时利用模板参数产生可以兼容实例的目标代码附于使用它的cpp文件中(特化),从而实现多态,而不能预先产生目标代码就兼容实例的。

      药方19、声明友元之前必须对该声明友元的对象,进行声明或定义。因为你让我跟他交朋友,可以,但你必需让我知道他的为人吧。

      药方20、你所知的只是沧海一粟,切莫过于骄傲和自满。

      结语:良药苦口!


    返回总目录:软件设计师教程知识点精讲汇总


    希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括在线辅导面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取