題解 考察 虛擬函式 拷貝構造 賦值構造
阿新 • • 發佈:2019-01-04
輸出什麼:
#include <iostream>
using namespace std;
struct A {
A() {
local_var++;
}
virtual void func() {
cout << "A" << endl;
}
static int local_var;
};
int A::local_var = 0;
struct B : A {
B() {
local_var += 2;
}
virtual void func() {
cout << "B" << endl;
}
};
int main() {
A* a1 = new B[3];
cout << a1[0].local_var << endl;
a1->func();
A a2 = a1[0];
cout << a2.local_var << endl;
a2.func();
A a3;
a3 = a1[0];
cout << a3.local_var << endl;
a3.func();
}