- 子类对象可以直接访问到子类中同名成员
- 子类对象加作用域可以访问到父类同名成员
- 当子类与父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函
- 同名静态成员处理方式和非静态处理方式一样,只不过有两种访问的方式(通过对象 和 通过类名)
#include<iostream>
#include<string>
using namespace std;
class base
{
public:
int m_a = 1;
void fun()
{
cout << "你好父类" << endl;
}
void fun(int a)
{
cout << "你好父类2" << endl;
}
static int m_b;
static void func()
{
cout << "父类中静态成员函数" << endl;
}
};
int base:: m_b = 10;
class son1:public base
{
public:
int m_a=2;
void fun()
{
cout << "你好子类" << endl;
}
static int m_b;
static void func()
{
cout << "子类中静态成员函数" << endl;
}
};
int son1::m_b = 20;
void main()
{
son1 s1;
s1.func();
cout << "子类静态属性:" << s1.m_b<<endl;;
s1.base::func();
cout << "父类静态属性:" << s1.base::m_b << endl;
son1::func();
cout << "子类静态属性:" << son1::m_b << endl;
son1::base::func();
cout << "父类静态属性:" << son1::base::m_b << endl;
}
|