|
@@ -0,0 +1,96 @@
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#include <iostream>
|
|
|
+
|
|
|
+
|
|
|
+class Base
|
|
|
+{
|
|
|
+public:
|
|
|
+ static int m_A;
|
|
|
+
|
|
|
+ static void func()
|
|
|
+ {
|
|
|
+ std::cout << "Base - static void func()" << std::endl;
|
|
|
+ }
|
|
|
+ static void func(int a)
|
|
|
+ {
|
|
|
+ std::cout << "Base - static void func(int a)" << std::endl;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+int Base::m_A = 100;
|
|
|
+
|
|
|
+class Son :public Base
|
|
|
+{
|
|
|
+public:
|
|
|
+ static int m_A;
|
|
|
+
|
|
|
+ static void func()
|
|
|
+ {
|
|
|
+ std::cout << "Son - static void func()" << std::endl;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+int Son::m_A = 200;
|
|
|
+
|
|
|
+
|
|
|
+void test01()
|
|
|
+{
|
|
|
+
|
|
|
+ std::cout << "通过对象访问" << std::endl;
|
|
|
+ Son s;
|
|
|
+ std::cout << "Son m_A = " << s.m_A << std::endl;
|
|
|
+ std::cout << "Base m_A = " << s.Base::m_A << std::endl;
|
|
|
+
|
|
|
+
|
|
|
+ std::cout << "通过类名访问" << std::endl;
|
|
|
+ std::cout << "Son m_A = " << Son::m_A << std::endl;
|
|
|
+
|
|
|
+ std::cout << "Base m_A = " << Son::Base::m_A << std::endl;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+void test02()
|
|
|
+{
|
|
|
+
|
|
|
+ std::cout << "通过对象访问" << std::endl;
|
|
|
+ Son s;
|
|
|
+ s.func();
|
|
|
+ s.Base::func();
|
|
|
+
|
|
|
+
|
|
|
+ std::cout << "通过类名访问" << std::endl;
|
|
|
+ Son::func();
|
|
|
+ Son::Base::func();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Son::Base::func(100);
|
|
|
+}
|
|
|
+
|
|
|
+int main()
|
|
|
+{
|
|
|
+
|
|
|
+ test02();
|
|
|
+
|
|
|
+
|
|
|
+ system("pause");
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|