thể trùng lặp:
C++ static virtual members?Chúng ta có thể có một phương pháp tĩnh ảo không? (C++)
Chúng ta có thể có một phương pháp tĩnh ảo (trong C++)? Tôi đã cố gắng để biên dịch mã sau:
#include <iostream>
using namespace std;
class A
{
public:
virtual static void f() {cout << "A's static method" << endl;}
};
class B :public A
{
public:
static void f() {cout << "B's static method" << endl;}
};
int main()
{
/* some code */
return 0;
}
nhưng trình biên dịch nói rằng:
member 'f' cannot be declared both virtual and static
vì vậy tôi đoán câu trả lời là không, nhưng tại sao?
cảm ơn, Ron
Aha, sau đó tĩnh có nghĩa là * điều này không tồn tại, ảo nghĩa là phương thức có con trỏ này. Sự kết hợp của hai làm cho một mâu thuẫn. Nice :) cảm ơn –