Visit Our UNIX and Linux User Community


Size of Derived class, upon virtual base class inheritance


 
Thread Tools Search this Thread
Top Forums Programming Size of Derived class, upon virtual base class inheritance
# 1  
Old 10-12-2013
Code Size of Derived class, upon virtual base class inheritance

I have the two class definition as follows.
Code:
class A { public: int a; };

class B : virtual public A{ };

The size of class A is shown as 4, and size of class B is shown as 16. Why is this effect ?.
# 2  
Old 10-22-2013
Finally .. I think i got answer !!! its may be because of virtual pointer in the derived class.
# 3  
Old 10-22-2013
Sorry, I was away last week, but that's exactly it.

Making it 'virtual' means the computer needs to store extra information in the class, since it doesn't know what functions to call it it from the type it's supposed to be alone.
This User Gave Thanks to Corona688 For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #209
Difficulty: Medium
The development work for OSPF prior to its publication as open standard was undertaken largely by the Digital Equipment Corporation.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Derived both lines base on pattern

Dear All, I have a requests to retrieve all lines if second line last columns meets certain criteria. Here is the output of the result Table: DSSBDW.DA_MASK_CLK_AR 120908 0 86 86 - 1934528 0 70 100 -*- Table: DSSBDW.DA_MASK_CLK_IP 310657 22030 143 185 - 5281169 7 88 77 *-* Table:... (5 Replies)
Discussion started by: ckwan123
5 Replies

2. Programming

C++ : Base class member function not accessible from derived class

Hello All, I am a learner in C++. I was testing my inheritance knowledge with following piece of code. #include <iostream> using namespace std; class base { public : void display() { cout << "In base display()" << endl; } void display(int k) {... (2 Replies)
Discussion started by: anand.shah
2 Replies

3. Programming

Size of derived class, in case of multiple inheritance

Why, here the size of class 'Derived' is 8 ? class Base1 { public: virtual void f() { } }; class Base2 { public: virtual void f() { } }; class Derived : public Base1, Base2 { public: virtual void f() { } }; (1 Reply)
Discussion started by: techmonk
1 Replies

4. UNIX for Advanced & Expert Users

Get pointer for existing device class (struct class) in Linux kernel module

Hi all! I am trying to register a device in an existing device class, but I am having trouble getting the pointer to an existing class. I can create a class in a module, get the pointer to it and then use it to register the device with: *cl = class_create(THIS_MODULE, className);... (0 Replies)
Discussion started by: hdaniel@ualg.pt
0 Replies

5. Programming

static use for class inside the same class c++

Hi, I believe the next code is wrong: class Egg { Egg e; int i; Egg(int ii=0) : i(ii) {} }; because you would end up with an endless definition (memory allocation) of Egg objects, thus int i. Ok, so God Eckel proposes for a singleton: class Egg { static Egg e; int... (5 Replies)
Discussion started by: xavipoes
5 Replies

6. Programming

Base class's variables not accessible????

Hi friends, The derived class cannot access the base class's variables in my program. You can have a look at my code, I am actually using class templates. #include <iostream> using namespace std; template <class T> class Sum { friend void Check(Sum &s, T a, T b) { T x,... (2 Replies)
Discussion started by: gabam
2 Replies

7. Programming

C++ class definition with a member of the same class

Hi, i have a question about C++. Is it possible to declare a class with a member ot the same class? For example, a linked list or i want to convert this C code to C++ class (Elemento) typedef struct elemento { char name; char value; List<struct elemento> ltElementos; ... (7 Replies)
Discussion started by: pogdorica
7 Replies

8. UNIX for Dummies Questions & Answers

car class (not school class)

im just trying to have some fun and kill some time writing a c++ program that has a person type in a car make and model then gives them a year and a price. or something like that. i always have problems getting it goin but once the ball is rolling im usually pretty good. anyone wanna help me out? ... (1 Reply)
Discussion started by: rickym2626
1 Replies

9. Programming

How to make a function friend to both base and derived class

Hi, I have a base class and derived a class from the base class, i want to print & read the data for the object created for the derived class,so i have overloaded both the << and >> operators and also have done the foward declaration. Below is the code snippet, #include <iostream> class... (3 Replies)
Discussion started by: ennstate
3 Replies

Featured Tech Videos