分类:
2010-10-21 16:38:49
C++编译器对类成员变量和成员函数分开处理:成员变量每个对象各有一份拷贝,成员函数的代码在内存只有一份。所以编译器只要知道是哪个类就可以调用成员函数了。指向类对象的指针是指向对象数据成员的指针,通过它调用成员函数只不过是告诉编译器是哪个类的成员函数(虚函数除外)。如果类有虚函数或虚基类,类对象大小还包括指向虚函数表的指针和指向虚基类的指针。还要考虑字节对齐因素
函数的大小是不在类中表示的,其是在运行的时候分配内存的,因为每个类的方法不是在运行的时候都能用到,所以编译器只有到运行的时候才能为用到的方法分配地址和空间。
每个函数有自己的地址,名字以及其所属类的名称,应该是一个结构。