大佬教程收集整理的这篇文章主要介绍了C++类的静态成员变量与静态成员函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <iostream> using namespace std; class Base{ public: static int val1; //类内定义,类外初始化,如果直接初始化编译器会报错 int val2; private: static int val3; }; int Base::val1(1); //类外初始化,通过类名访问静态成员 int Base::val3(2); //类外初始化,即便是私有属性也可以通过类名访问静态成员 int main() { Base base1; Base base2; base1.val1 = 10; base2.val1 = 11; cout << sizeof(BasE) <<endl; //类的大小只有四字节,说明静态成员并不依赖类存在,有自己的独立空间 cout << base1.val1 << " " << base2.val1 << endl; system("pause"); return 0; }
#include <iostream> using namespace std; class Base{ public: static int val1; //类内定义,类外初始化,如果直接初始化编译器会报错 int val2; private: static int val3; }; int Base::val1(1); //类外初始化,通过类名访问静态成员 int Base::val3(2); //类外初始化,即便是私有属性也可以通过类名访问静态成员 class Son : public Base { public: static int val1; //类内定义,类外初始化,与父类同名的静态变量 }; int Son:: val1 = 3; //类外初始化 int main() { Son son1; cout << son1.val1 << " " << son1.base::val1 << endl; //通过对象方式访问静态成员变量 cout << Son::val1 << " " << Base::val1 << endl; //通过类名方式访问静态成员变量 system("pause"); return 0; }
#include <iostream> using namespace std; class Base{ public: static int val1; int val2; static void func1(){ //val2 = 10; //静态成员函数访问非静态成员变量,编译会报错 val1 = 10; //只能访问静态成员 cout << "func1()" << endl; } private: static void func2(){ cout << "func2()" << endl; } }; int Base::val1(1); int main() { cout << "Base size = " << sizeof(BasE) << endl; Base base1; Base base2; base1.func1(); //通过对象访问 //base1.func2(); //类的私有权限,不能访问 Base::func1(); //通过对象访问 // Base::func2(); //私有权限,不能访问 cout << base1.val1 << " " << base2.val1 << endl; system("pause"); return 0; }
以上是大佬教程为你收集整理的C++类的静态成员变量与静态成员函数全部内容,希望文章能够帮你解决C++类的静态成员变量与静态成员函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。