C++学习小结
作者:网络转载 发布时间:[ 2012/8/10 9:43:24 ] 推荐标签:
三、设计与实现
C++面向对象编程中一条重要的规则是:公有继承意味着 “是一个” 。一定要牢牢记住这条规则。
C++有两种多态多态形式:
1、编译时刻多态,编译时刻多态依靠函数重载或者模板实现
2、运行时刻多态。运行时刻多态依靠需函数虚接口实现
引用的使用原则:
1、在可以用引用的情况下,不要用指针
2、引用可以作为“左值”
3、引用不允许为空,当存在对象为空时,必须使用指针。 引用指向一个空值,是非常有害的!
4、尽量用“传引用”而不用“传值”
5、必须返回一个对象时不要试图返回一个引用
6、千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针的引用
类中有const数据,必须要有构造函数对它初始化。
static const double a; //静态double常量声明!
const double 类名::a=1.04; //静态初始化!
T& operator[](int index); //传回数组的一个元素,可读,可写
const T& operator[](int index)const; //传回数组的一个元素,可读,不可写
重载函数,区分是不是重载函数的标准:
(1)只能靠函数的参数来区分重载函数(类型、个数、缺省参数)
(2)不能靠函数的返回值来区分重载函数
四、C++与C的一些区别
C中struct和C++中struct的区别:
C++的struct可以当作class来用,区别是,class中的成员默认是private,而struct的成员默认为public。
C中的struct只能是一些变量的集合体,可以封装数据却不可以隐藏数据,而且成员不可以是函数。
C中的Struct是用户自定义数据类型(UDT),C++中的Struct是抽象数据类型(ADT),支持成员函数的定义。
C++语言担保,如果p等于NULL,则delete p不作任何事情。
delete p 是一个两步的过程:调用析构函数,然后释放内存。
delete p调用的是operator delete(void*),而delete[] p调用的是operator delete[](void*)。
static 关键字至少有下列作用:
(1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次, 因此其值在下次调用时仍维持上次的值;
(2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;
(3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;
(4)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;
(5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。
const 关键字至少有下列作用:
(1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后没有机会再去改变它了;
(2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为 const,或二者同时指 定为const;
(3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;
(4)对于类的成员函数,若指定其为const类型,则表明其是一个常函数,不能修改类的成员变量;
(5)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”。
一个基类及其继承类的实现:
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11