Конструктор и инициализация пользовательских классов/объектов

Я мог предположить, что этот вопрос уже задавался, но я действительно не смог найти подходящего решения, поэтому, пожалуйста, извините, если это излишний вопрос.

У меня есть пользовательский класс

class myClass_A
{
public:
    myClass_A();          // Constructor
    myFunction_A();       // Some function from Class A
};

Теперь у меня есть другой пользовательский класс, который имеет член типа myClass_A

class myClass_B
{
public:
    myFunction_B();       // Some function from Class B

private:
    myClass_A m_instance; // Instance of Class A
}

Теперь myFunction_B()хочет вызвать метод myFunction_A()from m_instanceпримерно так:

myClass_B::myFunction_B()
{
    m_instance.myFunction_A();
}

Теперь, если я скомпилирую свой код (который в основном похож на пример, который я разместил выше), он будет успешным без каких-либо предупреждений или ошибок. Таким образом, мои вопросы будут такими:

A. Будет ли вызываться конструктор в этом примере?

B. Могу ли я вызвать методы из неинициализированного объекта?

C. Предполагая, что конструктор не вызывается, но я все еще могу вызывать методы из этого объекта -> Это означает, что члены моего класса не инициализированы?

Извините, если эти вопросы выглядят глупо, но я чувствую, что сейчас медленно соображаю.

9
задан Toby 21 March 2012 в 10:07
поделиться