Hi Tamas Marki,
           I agreed for your explanation. But , consider a code for copy 
constructor or assignment operator overloading methods. Those will be provided 
irrespective of whether we create objects or not. Am I correct? If so , in side 
the code , the implementation wil be with "this"   pointer itself na! .. Even 
if we think like the assignment for this pointer will be  done by creation of 
object(passing &obj as hidden parameter and catching this address into this 
pointer  and using it , ) even in this xcase also .. some memory will be 
occupied for formal parameters and that included the size of this pointer also 
na!
      Please correct me where I missed the track! 
   
   
  Thanks&Regards,
  Gopi.k

Tamas Marki <[EMAIL PROTECTED]> wrote:
          On 5/8/07, Gopi Krishna Komanduri <[EMAIL PROTECTED]> wrote:
> Hi,
> I know that size of empty class is 1 byte. But when we write a class compiler 
> will provide , default constructor , default destructor , copy constructor 
> (shallow) , and one assignment operator overloading functions whether the 
> class is empty or not. So , in copy constructor , and in assigment operator 
> methods , the implementation wil use "this" pointer. So the empty class 
> should have one hidden this pointer. and when we create object , the this 
> pointer will start pointing to the current object. So the size of empty class 
> shuld be atleast size of a pinter (2 bytes , but depends on compiler). Could 
> you please clarify!

A pointer might be 2 bytes on your compiler (something tells me it's
Turbo C++), but on modern systems it is 4 or 8 bytes.
However, the size of the pointer is irrelevant in this case: the class
does not have a pointer to itself, because you supply the this pointer
implicitly when you call a member of an object.
The size of the empty class is one bytes because the pointer needs to
point somewhere, and if it would be 0 then one pointer could point to
multiple instances which is not good.
I hope it's more clear now.

-- 
Tamas Marki


         


      
  GopiKrishna Komanduri
Software engineer
Covansys,
  Chennai,
  9884965748.
  [EMAIL PROTECTED]

   




       
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check outnew cars at Yahoo! Autos.

[Non-text portions of this message have been removed]

Reply via email to