Mọi người cho mình hỏi, làm thế nào để lấy được địa chỉ của 1 phương thức trong 1 Class trong C++ ??
Lấy địa chỉ của phương thức trong C++
#include <iostream>
#include <cstdlib>
class A
{
public:
void getF(){std::cout << 222323 << std::endl;}
};
int main()
{
A a;
void (A::* f)() = &A::getF;
(a.*f)();
}
Hiểu đơn giản là gán địa chỉ của A::getF vào f, sau đó đối tượng a truy cập địa chỉ *f và thực hiện phương thức.
C++11 có thể dùng auto cho gọn code hơn:
auto f = &A::getF;
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?