C++ 请在下面的代码中解释执行顺序

C++ 请在下面的代码中解释执行顺序,c++,constructor,friend,C++,Constructor,Friend,我在做一个小测验时遇到了这个问题。 请解释导致此输出的内部情况 class B; class A { friend class B; public: ~A() { B boj(); cout << "object A destructor " << endl; } }; class B { public: ~B() { cout << "object B des

我在做一个小测验时遇到了这个问题。 请解释导致此输出的内部情况

class B;

class A { 
    friend class B;

    public: 
    ~A() {
        B boj();
        cout << "object A destructor " << endl;
    } 
}; 

class B  { 
    public: 
    ~B() { cout << "object B destructor " << endl; } 
}; 

int main() { 
    A a;
    A aobj(); 
    B bobj();
}
输出为:

对象为析构函数

我正在尝试创建一个程序,如果用户希望添加另一条记录,则在其中输入,如果是,则为该记录创建一个新对象

因此,如果我包括构造函数,那么如何在每次用户需要时创建一个新对象

如果我给对象数组一个预定义的大小,那么构造函数将被调用,比如说50次,并初始化所有50个对象,而用户可能只想输入较少的值

首先,构建一个新的模型。然后,一个文件被销毁


main中的最后两个声明以及~B中的声明都是局部函数声明,因此不做任何事情。

请每个问题回答一个问题。你想让我们回答哪一个问题?@ParamagneticCroissant:是的,我在回答中已经说过了。@Lightness Race Sinorbit不是针对你的,而是针对OP的。当你撰写答案时,我正在键入我的评论。