1

Can I build a constructor to initialize a struct this way:

mystruct struct1(a,b); 

the same way I initialize a class?

Or do I have to use this way:

mystruct struct1=mystruct(a,b);  

?

2
  • 3
    The only difference between a class and a struct in C++ is that struct members are public by default, whereas class members are private by default. Other than that, the 2 concepts are interchangeable. Commented Feb 6, 2011 at 8:23
  • 1
    @PaulKeister: Members and bases. Commented Feb 6, 2011 at 10:57

3 Answers 3

4

You can use the same syntax as you use for class. In C++, there is no difference between them except for the default access specifiers which is public for struct and private for class. See here for detailed explaination: Difference between struct and class

Sign up to request clarification or add additional context in comments.

Comments

2

In C++ there is no difference between a structure and a class except that the data members by default are public in case of struct and private in case of class.

Furthermore there are two common modes of initialization of objects in C++

1) Direct Initialization
2) Copy Initialization

1 Comment

and of course the default inheritance, but that is sort-of not relevant to this question.
0

Both ways are valid. you can do it either ways.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.