|
-
May 4th, 1999, 02:44 AM
#1
size of class
class name {
private:
int first;
int second;
public:
int func(int);
};
If I type the size of the class it says = 8 where the size of int is 4.
If I made the function "func" as virtual the size of class becomes 12. Why?
What the magic with virtual.
-
May 4th, 1999, 03:46 AM
#2
Re: size of class
there is a vtable (virtual function table) that holds the address of the virtual function. This is necessary to choose the right function depending on the actual object instance (ie inherited function calls other function which might be overloaded by instance class, if directly called, old (not overloaded) code would execute. Called through vtable -> right function code executes. 32 bit pointer eq 4 byte memory space
hope this helps
chrislaw
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|