当子类与父类拥有同名的静态成员时,可以通过使用 " 父类名:: " 来访问父类中的静态成员。
例如,以下是一个父类及其子类的示例代码:
#include <iostream>
class Parent {
public:
static int x;
};
int Parent::x = 10;
class Child : public Parent {
public:
static void display() {
std::cout << "Child Class: x = " << Parent::x << std::endl;
}
};
int main() {
Child::display();
return 0;
}
在上面的示例代码中,父类 "Parent" 有一个名为 "x" 的静态成员,它的默认值为 10。子类 "Child" 继承了父类 "Parent",并在其内部定义了一个名为 "display" 的静态函数,在该函数内使用了 "Parent::x" 访问了父类中的静态成员 "x"。
输出结果如下:
Child Class: x = 10
另一个示例:
#include <iostream>
class Parent {
public:
static int x;
};
int Parent::x = 10;
class Child : public Parent {
public:
static int x;
static void display() {
std::cout << "Child Class: x = " << x << ", Parent Class: x = " << Parent::x << std::endl;
}
};
int Child::x = 20;
int main() {
Child::display();
return 0;
}
在上面的示例代码中,父类 "Parent" 有一个名为 "x" 的静态成员,它的默认值为 10。子类 "Child" 继承了父类 "Parent",并在其内部定义了一个名为 "x" 的静态成员,它的默认值为 20。子类 "Child" 也定义了一个名为 "display" 的静态函数,在该函数内使用了 "x" 访问了子类中的静态成员 "x"。此外,该函数还使用了 "Parent::x" 访问了父类中的静态成员 "x"。
输出结果如下:
Child Class: x = 20, Parent Class: x = 10
经过上述两个示例的讲解,相信您已经明白如何使用 "父类名::" 来访问父类中同名的静态成员了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vs2017子类怎么访问父类同名静态成员? - Python技术站