Initialization of a class array member in C++

Leon

Using VS2012, I have encountered an unprecedented problem, my main class have a member, which is a an array of another small class. This small class has an explicit constructor. Now the problem: How to supply the initialization list?

The following is the code:

class A { //This is the small class
private:
    int value;
public:
    explicit A(int newNumber) {
        value = newNumber;
    }
};

class B {//This is the major class
private:
    A arrayOfA[5];
public:
    B() {//Compiler complain "no default constructor for class A"
         //But I really don't know how to supply the initialization list
    }
};

Thanks a lot!

ghostofstandardspast

With a constructor initializer list:

B() : arrayOfA{A(1), A(2), A(3), A(4), A(5)} {}

I would also suggest changing the array to a std::array. If this is not C++11, I'm afraid you cannot initialize your member without having a default constructor for A. However, there is still the possibility of making your own (it's not hard) or using boost::array. In such a case, I am not sure whether it is possible to initialize the array directly, but it definitely is with a helper function.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

C++ Set size of an array data member at initialization of class

From Dev

C++ initialization list for class with "min" member

From Dev

C++ class static member initialization

From Dev

conditional initialization of class member using c# object initialization

From Dev

C++ array member without initialization

From Dev

Reference initialization as member of class

From Dev

In class initialization of constant member

From Dev

C++11 Initialization of template class member in template class

From Dev

Initializing a member of type array in a superclass, using the initialization list of a derived class

From Dev

C++ Get class member address in constructor initialization list

From Dev

C++11 VS2013 class POD member initialization

From Dev

class member initialization in c++11 done properly

From Dev

initialize class array in initialization list c++

From Dev

Elegant initialization of an array of class instances in C#

From Dev

Initialization of an array of class objects c++

From Dev

std::vector initialization of class member

From Dev

Aggregate initialization of class with noncopyable member

From Dev

initialization of class member in anonymous union

From Dev

Best practice for class member initialization

From Dev

initialization of static member of template class

From Dev

{} vs. () initialization of a class member

From Dev

Class reference member list initialization

From Dev

initialize struct array as c++ class member

From Dev

C++ Class Constructor With Array Member Variable

From Dev

Initialization of class array

From Dev

c++ implicit class member initialization for (POD struct, POD class and POD) members

From Dev

Class member array of objects without default constructor and deleted copy constructors initialization

From Dev

initialize a member of some class in initialization list if the member is a template class

From Dev

C++ Member-wise initialization, copy initialization and default initialization

Related Related

  1. 1

    C++ Set size of an array data member at initialization of class

  2. 2

    C++ initialization list for class with "min" member

  3. 3

    C++ class static member initialization

  4. 4

    conditional initialization of class member using c# object initialization

  5. 5

    C++ array member without initialization

  6. 6

    Reference initialization as member of class

  7. 7

    In class initialization of constant member

  8. 8

    C++11 Initialization of template class member in template class

  9. 9

    Initializing a member of type array in a superclass, using the initialization list of a derived class

  10. 10

    C++ Get class member address in constructor initialization list

  11. 11

    C++11 VS2013 class POD member initialization

  12. 12

    class member initialization in c++11 done properly

  13. 13

    initialize class array in initialization list c++

  14. 14

    Elegant initialization of an array of class instances in C#

  15. 15

    Initialization of an array of class objects c++

  16. 16

    std::vector initialization of class member

  17. 17

    Aggregate initialization of class with noncopyable member

  18. 18

    initialization of class member in anonymous union

  19. 19

    Best practice for class member initialization

  20. 20

    initialization of static member of template class

  21. 21

    {} vs. () initialization of a class member

  22. 22

    Class reference member list initialization

  23. 23

    initialize struct array as c++ class member

  24. 24

    C++ Class Constructor With Array Member Variable

  25. 25

    Initialization of class array

  26. 26

    c++ implicit class member initialization for (POD struct, POD class and POD) members

  27. 27

    Class member array of objects without default constructor and deleted copy constructors initialization

  28. 28

    initialize a member of some class in initialization list if the member is a template class

  29. 29

    C++ Member-wise initialization, copy initialization and default initialization

HotTag

Archive