Hi,
I did know that the size of a class is increased by 4 bytes (32bit compiler) if the class has a virtual function.
I wrote one program and it is giving strange output.
I am using linux g++ compiler.
The program and output is as below
Code:
#include<iostream>
using namespace std;
class Base
{
public:
void fun()
{
}
private:
int i;
};
int main()
{
cout<<sizeof(Base)<<endl;
return 0;
}
output=4
Code:
#include<iostream>
using namespace std;
class Base
{
public:
virtual void fun()
{
}
private:
int i;
};
int main()
{
cout<<sizeof(Base)<<endl;
return 0;
}
output is 16
please clarify