摘要: 引用和指针的静态类型(编译时可知的引用类型或指针类型)和动态类型(指针或引用所绑定的对象的类型,运行时获知)可以不同。因此,可以用基类的指针或引用指向派生类的对象,再通过基类的指针或引用来调用虚函数,所运行的虚函数是引用或指针所指向的对象所属类型定义的版本。C++函数默认不使用动态绑定,除非满足两个条件:1.只有虚函数才能进行动态绑定。 2.必须通过基类类型的引用或指针进行函数调用。 1 class Base{ 2 public: 3 Base(); 4 virtual void fun(){cout<<"fun of base"<<endl;} 5 阅读全文
posted @ 2011-10-02 21:38 coucar 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 修饰变量:如果修饰全局变量,则将其作用域限制在本文件;如果修饰自动变量,则改变其生存周期(其实是将其存储在静态存储区中)为整个程序的运行期间。修饰函数:将函数的作用域限制在本文件;修饰类成员:修饰类数据成员,该数据成员由类实例对象共享,独立于类实例而存在。修饰类成员函数,1.没有this形参 2.可访问类的static数据成员,不能直接访问非static数据成员。static数据成员必须在类定义体的外部定义,且在定义时初始化(而非在类的构造函数中,因为,static数据成员是独立于类对象而存在的。) 阅读全文
posted @ 2011-10-02 21:06 coucar 阅读(140) 评论(0) 推荐(0) 编辑