私はこのコードを持っています。出力は〜A〜A〜AprintA〜AprintA〜AprintA〜Aです。私はprintA〜AprintA〜AprintA〜A(3 push_backを持っているからです)を印刷する理由を理解していますが、なぜ文章の始めに3回現われているのか分かりません。v.push_back(a);
(ちょうどこれが、他の2つのpush_backsなし)、 "〜A"は表示されません、なぜですか?デストラクタをC++で印刷する
#include<vector>
#include<iostream>
class A {
public:
virtual void print() {
std::cout << "printA";
}
virtual ~A() {
std::cout << "~A";
}
};
int main() {
std::vector<A> v;
A a;
A b;
A c;
v.push_back(a);
v.push_back(b);
v.push_back(c);
for (auto e : v)
e.print();
}
再配置;ループ内でコピーを作成します。 – LogicStuff
あなたの質問は間違って書式設定されています。それを修正してください。 – StoryTeller
...あなたの出力書式も最高です。各coutの後に\ n "'を置くと読みやすくなります – user463035818