
C C++
cjjwwss
这个作者很懒,什么都没留下…
展开
-
extern用法 C和C++混编
1、 声明外部变量 现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是 互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件: //A.cpp int i; void main()转载 2014-07-22 17:15:22 · 490 阅读 · 0 评论 -
关于static和extern
static 是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用: 一、控制存储方式: static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。转载 2014-07-22 17:13:47 · 365 阅读 · 0 评论 -
static的三个作用
static的三个作用: 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2 在文件内(但在函数体外),一个被声明为静态的变量可以被文件内所用函数访问,但不能被文件外其它函数访问。它是一个本地的全局变量。 3在模块内,一个被声明为静态的转载 2014-07-22 17:17:11 · 1203 阅读 · 0 评论 -
重载与覆盖的区别 多态
重载与覆盖的区别1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。3、覆盖要求参数列表相同;重载要求参数列表不同。4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。转载 2014-07-25 16:25:10 · 1030 阅读 · 0 评论 -
C++中虚析构函数的作用
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:class ClxBase{public: ClxBase() {}; virtual ~ClxBase() {}; virtual void DoSomething() { cout "Do转载 2014-07-25 14:44:28 · 485 阅读 · 0 评论 -
纯虚函数的作用
虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式: virtual 函数返回值类型 虚函数名(形参表) { 函数体 } 虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函 数后,可以在基类的派生类中对虚函数重新定义,在派生类中重新定义的函数应与虚函数具有相同的形参个数和形转载 2014-07-25 16:53:10 · 9010 阅读 · 9 评论 -
多态、虚函数和动态关联
C++编译有一个或几个虚函数的类时,对该类建立虚函数表(virtualfunctiontable,vtableL vtable让执行程序选择每次执行类的虚函数时正确的实现方法。图10.3演示了Shape、Point、Circle和Cylinder类的虚函数表。Shape类的vtable中,第一个指针指向该类area函数的实现方法,即返回面积0.0的函数。第二个指针指向该类volume函数的实现方法转载 2014-07-25 16:54:18 · 540 阅读 · 0 评论