4.6.6继承同名静态成员函数处理方式
#include <iostream>
using namespace std;
class Base
{
public:
static void func()
{
cout << "Base:static void func" << endl;
}
static int m_a;
};
int Base::m_a = 100;
class Son :public Base
{
public:
static void func()
{
cout << "Son:static void func" << endl;
}
static int m_a;
};
int Son::m_a = 200;
void test01()
{
Son s;
cout << s.m_a << endl;
cout << s.Base::m_a << endl;
cout << Son::m_a << endl;
cout << Son::Base::m_a << endl;
}
void test02()
{
Son s;
s.func();
s.Base::func();
Son::func();
Son::Base::func();
}
int main4_6_6()
{
test02();
system("pause");
return 0;
}
4.6.5继承同名成员处理方式
#include <iostream>
using namespace std;
#include<string>
class Base
{
public:
Base()
{
m_a = 100;
}
void func()
{
cout << "Base:func" << endl;
}
int m_a;
};
class Son :public Base
{
public:
Son()
{
m_a = 200;
}
void func()
{
cout << "Son:func" << endl;
}
int m_a;
};
void test01()
{
Son s1;
cout << s1.m_a << endl;
cout << s1.Base::m_a << endl;
}
void test02()
{
Son s;
s.func();
s.Base::func() ;
}
int main4_6_5()
{
test02();
system("pause");
return 0;
}