龙空技术网

C++知识点 44:继承中静态成员的处理

Tina是个小妹妹 35

前言:

现时姐妹们对“静态成员变量怎么赋值出来”大概比较关怀,朋友们都想要了解一些“静态成员变量怎么赋值出来”的相关资讯。那么小编在网络上网罗了一些关于“静态成员变量怎么赋值出来””的相关文章,希望各位老铁们能喜欢,我们一起来学习一下吧!

#define _CRT_SECURE_NO_WARNINGS

#include<iostream>

using namespace std;

class Base

{

public:

static void func()

{

cout << "父类中静态func调用" << endl;

}

static void func(int a)

{

cout << "父类中静态func(int a)调用" << endl;

}

static int m_A; // 静态成员变量 // 类内声明

};

int Base::m_A = 10; // 类外赋值

class Son :public Base

{

public:

static void func()

{

cout << "子类中静态func调用" << endl;

}

static int m_A; // 静态成员变量 // 类内声明

};

int Son::m_A = 100; // 类外赋值

------------------------------------------------------------------

void test01()

{

Son s1;

// 通过对象访问静态成员变量

cout << s1.m_A << endl; // 结果: 100

cout << s1.Base::m_A << endl; // 结果: 10

//通过类名访问静态成员变量

cout << Son::m_A << endl;

cout << Son::Base::m_A << endl;

}

------------------------------------------------------------------

void test02()

{

Son s2;

// 通过对象访问静态成员函数

s2.func(); // 结果:子类中静态func调用

s2.Base::func(); // 结果:父类中静态func调用

s2.Base::func(1); // 结果:父类中静态func(int a)调用

// 通过类名访问静态成员函数

Son::func();

Son::Base::func();

Son::Base::func(1);

}

// 注意 Son::Base::func(); 第一个::是通过类名访问 第二个::是作用域 注意区别

标签: #静态成员变量怎么赋值出来 #静态成员变量怎么赋值出来的