派生类中的static成员

理论知识

  • 基类定义的静态成员,将被所有派生类共享
  • 根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质 (遵守派生类的访问控制)
  •  派生类中访问静态成员,用以下形式显式说明:

                         类名 :: 成员

    或通过对象访问     对象名 . 成员

 

 

代码如下:

#include <iostream>
using namespace std;

//单例
class A
{
	A()
	{
		cout << "A的构造函数" << endl;
	}

public:
	static int a;
	int b;

public:
	
	void get()
	{
		cout<<"b "<<b<<endl;
	}
	void print()
	{
		cout << "AAAAA " << endl;
	}
protected:
private:
};

int A::a = 100; //这句话 不是简单的变量赋值 更重要的是 要告诉C++编译器 你要给我分配内存 ,我再继承类中 用到了a 不然会报错..




//1 static关键字 遵守  派生类的访问控制规则

//2  不是简单的变量赋值 更重要的是 要告诉C++编译器 你要给我分配内存 ,我再继承类中 用到了a 不然会报错..

//3 A类中添加构造函数 
	//A类的构造函数中   A的构造函数是私有的构造函数 ... 
	//被别的类继承要小心....
	//单例场景 .... UML



void main()
{
	// B  b1;
	 //b1.a = 200;
	system("pause");
}

 

发布了228 篇原创文章 · 获赞 85 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/tianguiyuyu/article/details/104540923