1、虚函数

虚函数的作用是允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。当把基类的某个成员函数声明为虚函数后,允许在其派生类中对该函数重新定义,赋予它新的功能,并且可以通过指向基类的指针指向同一类族中不同类的对象,从而调用其中的同名函数。

2、纯虚函数

class <类名>
{
virtual <类型><函数名>(<参数表>)=0;
};
纯虚函数可以让类先具有一个操作名称,而没有操作内容,让派生类在继承时再去具体地给出定义。凡是含有纯虚函数的类叫做抽象类。这种类不能声明对象,只是作为基类为派生类服务。除非在派生类中完全实现基类中所有的的纯虚函数,否则,派生类也变成了抽象类,不能实例化对象。
 
3、虚基类
代码中表现更像“虚继承”,基类只产生一个实例,用来解决多重继承的二义性问题。
class CParent 

.... 
}; 
class CChild : virtual public CParent 

.... 
 
4、拷贝构造函数
     浅拷贝就是成员数据之间的一一赋值:把值一一赋给要拷贝的值。但是可能会有这样的情况:对象还包含资源,这里的资源可以是堆资源,或者一个文件。。当值拷贝的时候,两个对象就有用共同的资源,同时对资源可以访问,这样就会出问题。深拷贝就是用来解决这样的问题的,它把资源也赋值一次,使对象拥有不同的资源,但资源的内容是一样的。对于堆资源来说,就是在开辟一片堆内存,把原来的内容拷贝。

如果你拷贝的对象中引用了某个外部的内容(比如分配在堆上的数据),那么在拷贝这个对象的时候,让新旧两个对象指向同一个外部的内容,就是浅拷贝;如果在拷贝这个对象的时候为新对象制作了外部对象的独立拷贝,就是深拷贝 。

 
5、static
static全局变量与普通的全局变量有什么区别:
static全局变量只初使化一次,防止在其他文件单元中被引用;   
static局部变量和普通局部变量有什么区别:
static局部变量只被初始化一次,下一次依据上一次结果值;   
static函数与普通函数有什么区别:
static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝
 
 

最新文章

  1. JCIP chap3 share objects
  2. 将HTML5封装成android应用APK文件的几种方法(转)
  3. JDBC操作Oracle数据库——实际操作过程中的小总结
  4. RN项目搭建
  5. ubuntu下启动和关闭tomcat的简单方法
  6. 【转】cocos2d-x 2.0版本 自适应屏幕分辨率
  7. mongodb基础系列——数据库查询数据返回前台JSP(一)
  8. WPF之Binding的使用
  9. Hibernate的使用梳理
  10. c# winform panel 流式布局 panel块可自动排列
  11. zTree 勾选checkbox
  12. 基于Appium1.6.X的WebDriverAgent编译、安装
  13. WEB-INF目录下文件复制的几种方式
  14. 【R】资源整理
  15. js实现放大效果
  16. [LeetCode] 132. Palindrome Partitioning II_ Hard tag: Dynamic Programming
  17. SQL Server日志过大,清理日志
  18. Python--随机生成指定长度的密码
  19. 利用RTMFP开发P2P应用
  20. delphi const的用法

热门文章

  1. BZOJ 4278: [ONTAK2015]Tasowanie 后缀数组 + 贪心 + 细节
  2. [adb]查看 App的appPackage和appActivity
  3. 启动模拟器的qq
  4. 一个简单的执行程序的GNU automake自动生成Makefile的方法及案例
  5. SSL/TLS 加密新纪元 - Let's Encrypt
  6. 为什么要学习vue?
  7. call,apply,bind
  8. phpstorm zhuce ma
  9. AnimationEvent事件问题
  10. oracle启动停止命令