Hãy nói rằng tôi có các lớp sau:Gọi một phương pháp ghi đè từ lớp cơ sở
class A {
public:
virtual void foo() {
bar();
}
protected:
virtual void bar() {
// Do stuff
}
}
class B : public A {
protected:
virtual void bar() {
// Do other stuff
}
}
Nếu tôi có một thể hiện của B và gọi phương thức foo, phương pháp thanh sẽ được gọi là? Và trình biên dịch này có cụ thể không?
Cảm ơn
Lưu ý rằng hành vi này không phải là trường hợp trong hàm khởi tạo cơ bản và hàm hủy. Ở đó nó sẽ gọi thực hiện cơ sở. Thảo luận: http://www.cplusplus.com/forum/general/109477/ –