单选题:设有如下代码段:
设有如下代码段: @[B](2)
```
class A {
public:
void func1() {
cout << "A1" << endl;
}
virtual void func2() {
cout << "A2" << endl;
}
};
class B : public A {
public:
void func1() {
cout << "B1" << endl;
}
void func2() {
cout << "B2" << endl;
}
};
int main() {
A *a = new B;
a->func1();
a->func2();
}
```
则输出结果为:
A. A1 A2
B. A1 B2
C. B1 A2
D. B1 B2
A.A1 A2
B.A1 B2
C.B1 A2
D.B1 B2
答案:B
```
class A {
public:
void func1() {
cout << "A1" << endl;
}
virtual void func2() {
cout << "A2" << endl;
}
};
class B : public A {
public:
void func1() {
cout << "B1" << endl;
}
void func2() {
cout << "B2" << endl;
}
};
int main() {
A *a = new B;
a->func1();
a->func2();
}
```
则输出结果为:
A. A1 A2
B. A1 B2
C. B1 A2
D. B1 B2
A.A1 A2
B.A1 B2
C.B1 A2
D.B1 B2
答案:B