Files
BasicsOfComputerSoftwareEng…/OOP/13Exam/3.2.cpp
2023-06-02 00:03:58 +08:00

43 lines
567 B
C++

#include <iostream>
using namespace std;
class A {
public:
A() {
cout << "A::A() called.\n";
}
virtual ~A() {
cout << "A::~A() called.\n";
}
};
class B: public A {
public:
B(int i) {
cout << "B::B() called.\n";
buf = new char[i];
}
virtual ~B() {
delete [] buf;
cout << "B::~B() called.\n";
}
private:
char *buf;
};
void fun(A *a) {
delete a;
}
int main() {
A *a = new B(15);
fun(a);
}
/*
A::A() called.
B::B() called.
B::~B() called.
A::~A() called.
*/