У меня есть класс, настроенный так:
class Foo {
Foo();
private:
Bar m_bar;
}
Это определение класса в его собственном заголовочном файле, и теперь в исходном файле, чтобы пойти с ним, у меня есть конструктор, и я попытался сделать это:
Foo::Foo() {
m_bar("parameters for the Bar constructor");
}
Однако это не работает и выдает ошибку. Я могу сделать указатель m_bar, а затем в конструкторе Foo сделать это:
m_bar = new Bar("parameters here");
Однако это делает m_bar указателем, а я этого не хочу.
Я не лучший в классах и указателях C ++, поэтому что-то может объяснить мне способ определения m_bar в классе Foo, но конструктор где-то в другом месте, или если в этой ситуации лучше сделать указатель m_bar Зачем? Хотя я бы предпочел не указывать указатель (потому что я не очень хорошо понимаю указатели), если это лучший способ сделать это, я бы предпочел сделать это таким образом, но я все же хотел бы, чтобы кто-то объяснил, почему это это лучший способ сделать это (если это так).