类静态成员变量和静态成员函数的访问方式

1、在类所有实例中静态成员变量静态成员函数都只有一份拷贝

2、静态成员函数不能调用非静态成员,非静态成员函数可以调用静态成员

3、静态成员变量在使用前要初始化

一、静态成员变量的访问

class B
{
public:
    static int a;
};
int B::a=0;//必须要先初始化
int main(){
        cout<<B::a<<endl;
    return 0;
}

二、静态成员函数的访问

class B
{
public:
    static void a(){ printf("B\n"); }
};
int main(){
    B::a();
    return 0;
}

原文地址:https://www.cnblogs.com/hustwx/p/9561290.html

时间: 2024-12-17 11:11:11

类静态成员变量和静态成员函数的访问方式的相关文章

C++类中的静态成员变量与静态成员函数

最近一直看c++相关的项目,但总是会被c++类中的静态成员变量与静态成员函数的理解感觉很是模糊,不明白为什么类中要是用静态成员变量.于是在网上搜集了一些资料,自己再稍微总结下. 静态成员的概念: 静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员先于类的声明而存在于内存,也可以根据类声明的对象来访问.而非静态成员必须实例化之后才会分配内存. 非静态成员的概念: 所有没有加static的成员都是非静态成员.而类被实例化后,可以通过实例化的类

C++ 类中的静态成员变量,静态成员函数

//类中的静态成员变量,静态成员函数 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; /* 静态成员函数是属于整个类, static修饰的变量,是属于类,,所有的对象都能共享用. 在类的静态数据成员函数中,是不能调用具体的对象的变量的属性, 这是因为static修饰的变量是整个类共享,在静态成员函数中使用一个对象的成员属性 c++编译器无法知道这个成员属性是哪个对象的 所以在静态成员函数中只能使用静

static作用,静态成员变量和静态成员函数

static关键字有俩作用:(1).控制存储分配:(2).控制一个名字的可见性和连接. 随着C++名字空间的引入,我们有了更好的,更灵活的方法来控制一个大项目的名字增长. 在类的内部使用static是在全程序中控制名字的另一种方法.这些名字不会与全局名冲突,并且可见性和访问也限制在程序内部,使得在维护代码时有更多的控制. 数据成员可以分静态变量.非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静

c++中静态成员变量和静态成员函数(笔试经历)

笔试经历 1 类中的静态变量不能通过构造函数参数列表来初始化,因为静态变量不属于哪个对象.同时静态变量在不初始化的情况下系统会自动为变量赋值,数值型赋值为零,字符型赋值为空. 非静态变量只有在定义时才会被分配内存,因此使用未声明的或者声明了未定义的变量程序都会运行失败.未声明时编译时失败,未定义是运行时失败. 2 静态成员数中的普通变量无论c还是java都是普通变量,需要定义后使用. 在c++中静态成员函数的访问方式为: 类名::函数名(): java中静态成员函数的访问方式:类名.函数名():

C++静态成员变量和静态成员函数使用总结

       C++静态成员变量和静态成员函数使用总结: 一.静态成员变量: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员.和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则.同时,静态数据成员还具有以下特点: 1.静态数据成员的定义. 静态数据成员实际上是类域中的全局变量.所以,静态数据成员的定义(初始化)不应该被放在头文件中. 其定义方式与全局变量相同.举例如下: xxx.h文件 class base{ pr

C++ Primer 学习笔记33_面向对象编程(4)--虚函数与多态(一):多态、派生类重定义、虚函数的访问、 . 和-&gt;的区别、虚析构函数、object slicing与虚函数

C++ Primer学习笔记33_面向对象编程(4)--虚函数与多态(一):多态.派生类重定义.虚函数的访问. . 和->的区别.虚析构函数.object slicing与虚函数 一.多态 多态可以简单地概括为"一个接口,多种方法",前面讲过的重载就是一种简单的多态,一个函数名(调用接口)对应着几个不同的函数原型(方法). 更通俗的说,多态行是指同一个操作作用于不同的对象就会产生不同的响应.或者说,多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为. 多态行分

[email&#160;protected]类的静态成员变量和静态成员函数

参考: http://blog.csdn.net/morewindows/article/details/6721430 http://www.cnblogs.com/lzjsky/archive/2011/01/24/1943199.html 分析Qt程序时,碰到下面代码. QString str = QString("QFrame#avatar{border-image:url(%1.jpg)}").arg( QString::number(i) );   静态成员变量 静态成员函

C++类中的静态成员变量与静态成员函数的使用

代码: 1 #include <iostream> 2 #include <string> 3 #include <cstdio> 4 5 using namespace std; 6 7 class A{ 8 public: 9 static int a; 10 //static int a = 0; //编译不通过,无法在类内初始化 11 int b; 12 static void func1(){ 13 cout<<"static func&

C++ 静态成员变量和静态成员函数

静态成员:在定义前面加了static 关键字的成员.如下: class CRectangle { public: CRectangle(); ~CRectangle(); static void PrintTotal(); private: int w, h; static int nTotalArea; static int nTotalNumber; }; CRectangle::CRectangle(int w_, int h_) { w = w_; h = h_; nTotalNumbe