理论知识
- 基类定义的静态成员,将被所有派生类共享
- 根据静态成员自身的访问特性和派生类的继承方式,在类层次体系中具有不同的访问性质 (遵守派生类的访问控制)
- 派生类中访问静态成员,用以下形式显式说明:
类名 :: 成员
或通过对象访问 对象名 . 成员
代码如下:
#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");
}