明确以下几点:多态的实现是依靠虚函数表,程序需要额外的查询虚函数表的开销。C++的构造函数中可以调用虚函数,说明虚函数表的产生是在构造函数调用之前。虚函数表的建立是在编译时(Compile-Time)。看一个例子:#include <iostream> using namespace std; class A { int m1; int m2; public:
清楚以下几点:C++的类的非静态成员是共享的,即所有相同类的对象共享的是同一份非静态成员函数。即类的非静态成员函数是不依赖于对象存在的。的编译器在处理非静态成员函数时,会在其参数列表中添加一个this指针,this指针指向的便是具体调用该非静态成员函数的对象的起始地址。该非静态成员函数中需要的所有的成员数据都是通过这个this指针获取的。通过以下几个小例子给予说明:#include <ios
看一个例子:#include <iostream> using namespace std; class A { public: int m1; int m2; int m3; void fun(){cout<<&m1<<' '<<&m2<<' '<<&m3<<
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号