Questions tagged [empty-class]
21 questions
                    
                    61
                    
            votes
                
                4 answers
            
        Empty class object in Python
I'm teaching a Python class on object-oriented programming and as I'm brushing up on how to explain classes, I saw an empty class definition:
class Employee:
    pass
The example then goes on to define a name and other attributes for an object of…
         
    
    
        Ramy
        
- 20,541
- 41
- 103
- 153
                    44
                    
            votes
                
                3 answers
            
        What function does C++ write and call in an empty class?
In the book Effective C++, I saw the passage below:
As a result, if you write   
class Empty{};
it's essentially the same as if you'd written this:  
class Empty {
public:
    Empty() { ... }
    Empty(const Empty& rhs) { ... }
    ~Empty() { ...…
         
    
    
        llinvokerl
        
- 1,029
- 10
- 25
                    16
                    
            votes
                
                3 answers
            
        Why is the empty base class optimization (EBO) is not working in MSVC?
Why is the empty base class optimization (EBO) not being fully applied in Visual C++?
If I have a lot of base classes, is there any way for me to help the compiler make this optimization?
#include 
struct T1 { };
struct T2 { };
struct T3… 
         
    
    
        user541686
        
- 205,094
- 128
- 528
- 886
                    15
                    
            votes
                
                8 answers
            
        what is the size of empty class in C++,java?
What is the size of an empty class in C++ and Java?
Why is it not zero?
sizeof(); returns 1 in the case of C++.
         
    
    
        garima
        
- 5,154
- 11
- 46
- 77
                    11
                    
            votes
                
                2 answers
            
        why a const object of an empty class cant be created
#include 
class A {
   public:
      void foo() const {
          std::cout << "const version of foo" << std::endl;
      }
      void foo() {
          std::cout << "none const version of foo" << std::endl;
      }
};
int main()
{
  A… 
         
    
    
        Haiyuan Zhang
        
- 40,802
- 41
- 107
- 134
                    11
                    
            votes
                
                3 answers
            
        Handles Comparison: empty classes vs. undefined classes vs. void*
Microsoft's GDI+ defines many empty classes to be treated as handles internally. For example, (source GdiPlusGpStubs.h)
//Approach 1
class GpGraphics {};
class GpBrush {};
class GpTexture : public GpBrush {};
class GpSolidFill : public GpBrush…
         
    
    
        Nawaz
        
- 353,942
- 115
- 666
- 851
                    9
                    
            votes
                
                1 answer
            
        Something about a completely empty class
#include 
using namespace std;
class Empty{
    char omg[0];
};
int main()
{
    Empty em1, em2;
    Empty set[100];
    cout << sizeof(Empty) << " " << sizeof(em1) << " " << sizeof(em2) << endl;
    cout << (long*)&em1 << " " <<… 
         
    
    
        simon_xia
        
- 2,394
- 1
- 20
- 32
                    9
                    
            votes
                
                4 answers
            
        Generating empty objects - empty class with empty properties/subclasses C#
I have two classes:
public class HumanProperties { int prop1; int prop2; string name;}
public class Human{int age; HumanProperties properties;}
Now if i want to create new instance of Human, i have to do Human person = new Human();
But when i try…
         
    
    
        Muno
        
- 749
- 2
- 9
- 19
                    4
                    
            votes
                
                2 answers
            
        Why sizeof(Derived4) is 8 byte? I think it should be 5 bytes
This is the output of the given program:
sizeof(Empty) 1
sizeof(Derived1) 1
sizeof(Derived2) 4
sizeof(Derived3) 1
sizeof(Derived4) 8
sizeof(Dummy) 1
This is the program:
#include 
using namespace std;
class Empty
{};
class Derived1 :… 
         
    
    
        Devesh Agrawal
        
- 8,982
- 16
- 82
- 131
                    3
                    
            votes
                
                1 answer
            
        Is there something like is_empty_but_has_virtual_functions?
I would like to craft an "interface"/mix-in class (template), and ensure nobody thinks that adding a member to this class template is a good idea, I'd like to static_assert on this condition.
Unfortunately, std::is_empty does not allow virtual…
         
    
    
        rubenvb
        
- 74,642
- 33
- 187
- 332
                    3
                    
            votes
                
                2 answers
            
        Construct an empty object without the default constructor
Suppose I have a type F. I know that F is empty, but F has no default constructor, so I can't use F() to construct it. Is there a way to obtain a valid object of type F anyway? I seem to recall a mention that there was such a way with arcane usage…
         
    
    
        Justin
        
- 24,288
- 12
- 92
- 142
                    3
                    
            votes
                
                1 answer
            
        Chained inheritance of empty classes, still necessary?
Are there still good reasons to use chainned base cases rather than a flat multiple inheritance?
It used to be the case that some classes were designed to be inherted in chain. I think this was to force the empty base class optimization.
I…
         
    
    
        alfC
        
- 14,261
- 4
- 67
- 118
                    2
                    
            votes
                
                1 answer
            
        Do we ever need empty class in java project? If yes then why?
In empty class (without field and properties) also compiler automatically creates a default constructor after compiling. If we never use this empty class then why compiler creates this default constructor?
         
    
    
        Raghunath
        
- 29
- 4
                    2
                    
            votes
                
                1 answer
            
        C++ Exceptions Throw Empty Class
Below is an excerpt from "Programming: Principles and Practice Using C++". I'm confused by the throw Bad_area() notation. The book tries to explain it, "Bad_area() means 'Make an object of type Bad_area'," continuing with that it then throws that…
         
    
    
        Jay Adams
        
- 23
- 1
- 3
                    1
                    
            vote
                
                1 answer
            
        Why c++ empty class have no byte alignment?
I recently learned that empty class have size 1 instead of zero.Why it has no byte alignment, in which 
 it's size should be 4 in 32bit environment? What's the address of the next object?
         
    
    
        uuuvv
        
- 15
- 2