Dưới đây là ví dụ gọi hàm lớp cha từ hàm lớp dẫn xuất.
Ví dụ
#include <bits/stdc++.h>
using namespace std;
class p1 {
public:
void first() {
cout << "\nHàm lớp cha p1 được gọi.";
}
};
class d1 : public p1 {
public:
void first() {
cout << "Hàm lớp dẫn xuất d1 được gọi.";
p1::first();
}
};
int main() {
d1 d;
d.first();
return 0;
}
Kết quả
Hàm lớp dẫn xuất d1 được gọi. Hàm lớp cha p1 được gọi.
Trong chương trình trên, lớp cha p1 được tạo và hàm first() được định nghĩa trong nó.
class p1 {
public:
void first() {
cout << "\nHàm lớp cha p1 được gọi.";
}
};
Lớp dẫn xuất được tạo, kế thừa lớp cha p1 và nạp chồng (override) hàm first() của lớp cha.
class d1 : public p1 {
public:
void first() {
cout << "Hàm lớp dẫn xuất d1 được gọi.";
p1::first();
}
};
Hàm của lớp d1 gọi hàm của lớp p1 bằng cách dùng tên lớp và toán tử phạm vi.
p1::first();