Click here to Skip to main content
15,905,971 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Objects hierarchy ? Pin
Richard MacCutchan29-Apr-24 6:29
mveRichard MacCutchan29-Apr-24 6:29 
QuestionHow to track "nested objects "? Pin
Salvatore Terress18-Apr-24 8:34
Salvatore Terress18-Apr-24 8:34 
AnswerRe: How to track "nested objects "? Pin
Mircea Neacsu18-Apr-24 9:13
Mircea Neacsu18-Apr-24 9:13 
GeneralRe: How to track "nested objects "? Pin
Salvatore Terress18-Apr-24 14:57
Salvatore Terress18-Apr-24 14:57 
GeneralRe: How to track "nested objects "? Pin
Salvatore Terress19-Apr-24 4:00
Salvatore Terress19-Apr-24 4:00 
GeneralRe: How to track "nested objects "? Pin
Mircea Neacsu19-Apr-24 4:31
Mircea Neacsu19-Apr-24 4:31 
GeneralRe: How to track "nested objects "? Pin
Salvatore Terress19-Apr-24 7:11
Salvatore Terress19-Apr-24 7:11 
GeneralRe: How to track "nested objects "? Pin
Mircea Neacsu19-Apr-24 7:43
Mircea Neacsu19-Apr-24 7:43 
If you have an object like this:
C++
class Thing1 {
public:
  Thing1 ();
}
You can use it in another object:
C++
class Composite {
public:
  Composite ();
private:
  Thing1* part;
};

Composite::Composite()
  : part (new Thing1)
{
}
In Composite, the member part is a pointer to a Thing1. When a composite is constructed, first the program allocates on heap a new object of type Thing1 and invokes it constructor. Because constructor for Thing1 does not have any parameters there is no need for a list of parameters.

Next step:
You have another type of object Thing2 declared like:
C++
class Thing2 {
public:
  Thing2 (int param=42);
};
and the Composite object has 2 members:
C++
class Composite {
public:
  Composite ();
private:
  Thing1* part;
  Thing2* other_part;
};
The constructor of Composite could be:
C++
Composite::Composite ()
  : part (new Thing1) //as before
  , other_part (new Thing2) //same as saying other_part(new Thing2(42))
{}
because now the constructor for Thing1 needs a parameter but the parameter has a default value and the compiler will call the constructor with said value. Obviously, if you need a different value for the parameter, you will have to add it:
C++
Composite::Composite ()
  : part (new Thing1) //as before
  , other_part (new Thing2(24) //explicit constructor parameter
{}


Going back to the original question (which you seem to have deleted)
What you want to have is it something like:
C++
class Composite{
public:
  Composite ();
private:
  Thing1 *part;
  Thing1 *other_part;
{}
? Try to rephrase your question it terms of simple objects to make it easier for us to understand.
Mircea

GeneralRe: How to track "nested objects "? Pin
k505419-Apr-24 8:16
mvek505419-Apr-24 8:16 
GeneralRe: How to track "nested objects "? Pin
Salvatore Terress19-Apr-24 9:48
Salvatore Terress19-Apr-24 9:48 
GeneralRe: How to track "nested objects "? Pin
k505419-Apr-24 10:58
mvek505419-Apr-24 10:58 
GeneralRe: How to track "nested objects "? Pin
Salvatore Terress20-Apr-24 15:38
Salvatore Terress20-Apr-24 15:38 
GeneralRe: How to track "nested objects "? Pin
Richard MacCutchan21-Apr-24 2:04
mveRichard MacCutchan21-Apr-24 2:04 
AnswerRe: How to track "nested objects "? Pin
Maximilien19-Apr-24 4:13
Maximilien19-Apr-24 4:13 
GeneralRe: How to track "nested objects "? Pin
Salvatore Terress19-Apr-24 14:01
Salvatore Terress19-Apr-24 14:01 
AnswerRe: How to track "nested objects "? Pin
Richard MacCutchan19-Apr-24 6:32
mveRichard MacCutchan19-Apr-24 6:32 
QuestionCan a locale be Removed from a basic_ostream Subsequent to basic_ostream.imbue(locale) Pin
BernardIE531717-Apr-24 1:48
BernardIE531717-Apr-24 1:48 
AnswerRe: Can a locale be Removed from a basic_ostream Subsequent to basic_ostream.imbue(locale) Pin
Mircea Neacsu17-Apr-24 2:03
Mircea Neacsu17-Apr-24 2:03 
GeneralRe: Can a locale be Removed from a basic_ostream Subsequent to basic_ostream.imbue(locale) Pin
BernardIE531717-Apr-24 11:55
BernardIE531717-Apr-24 11:55 
GeneralRe: Can a locale be Removed from a basic_ostream Subsequent to basic_ostream.imbue(locale) Pin
Mircea Neacsu17-Apr-24 12:14
Mircea Neacsu17-Apr-24 12:14 
Questionhow to add new class ? Pin
Salvatore Terress16-Apr-24 13:32
Salvatore Terress16-Apr-24 13:32 
AnswerRe: how to add new class ? Pin
Mircea Neacsu16-Apr-24 13:44
Mircea Neacsu16-Apr-24 13:44 
GeneralRe: how to add new class ? Pin
Salvatore Terress16-Apr-24 15:11
Salvatore Terress16-Apr-24 15:11 
GeneralRe: how to add new class ? Pin
Mircea Neacsu16-Apr-24 15:23
Mircea Neacsu16-Apr-24 15:23 
QuestionRe: how to add new class ? Pin
CPallini16-Apr-24 20:07
mveCPallini16-Apr-24 20:07 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.