day6-09 继承中静态成员的处理

内容难点

  • 重点:静态成员变量是所有对象共用的,只有一份,不会为每一个对象都分配一个不同的值。然而我以前一直理解的是静态成员变量是所以类共用,这次真的学到了。
  • 继承中类似非静态成员函数处理
  • 如果想访问父类中的成员,加作用域即可
  • 静态成员变量可以通过类名访问

代码

#define _CRT_SECURE_NO_WARNINGS
#include
using namespace std;

class Base
{
public:

	static void func()
	{
		cout << "base fun()" << endl;
	}
	static void func(int a)
	{
		cout << "base fun(int)" << endl;
	}
	static int m_A;
};
int Base::m_A = 10;

class Son :public Base
{
public:

	static void func()
	{
		cout << "son fun()" << endl;
	}

	static int m_A;
};
int Son::m_A = 20;

//静态成员属性 子类可以继承下来
void test01()
{
	//隐藏了父类的m_A
	cout << Son::m_A << endl;
	//访问父类的m_A
	cout << Base::m_A << endl;

	//如果func()前面不加static,那么Son::func()这句话就会错误,必须通过实例化对象来调用
	Son::func();
	//访问 父类中同名的函数
	Son::Base::func(10);

}
int main(){

	test01();

	system("pause");
	return EXIT_SUCCESS;
}

你可能感兴趣的:(c++基础学习,类,面向对象编程,面试)