static 用法

c++ static 用法

#include <iostream>

using namespace std;
/*
静态意味着面对所有的对象,即属于类,
属于类,不由对象调用.可以访问私有数据
静态变量:相当于全局变量,,针对于同一类对象的全局变量
静态函数:不能访问普通变量,只能访问静态变量;
*/
class Ctext
{
    static int n;//静态变量;

    int m;
public:
    Ctext()
    {
        m=0;
        n=12;//这里并不是对静态变量的初始化(初始化只能在全局里),而是运算(一个函数对变量的使用)
    }
    void showw()//show(Ctext* this)//普通函数由对象调用(有this指针),可以访问属于类的变量,也可以访问属于对象的变量
    {
        cout<<n<<" "<<m<<endl;
        shoow();//普通函数可以调用静态函数;
    }
    void static shoow()//静态函数不需要对象调用,没有普通函数默认的this指针,所以不能访问对象的变量(就根本没有对象传参进来).如果想要对对象进行操作,则可以穿个(对象)参数进来
    {
        //cout<<m<<endl;//可以将对象传参进来
        cout<<n<<endl;

        //showw();//静态函数没有对象传进来,就没办法通过对象调用普通函数.
    }
};
int Ctext::n=12;//静态变量不能在构造函数内初始化,必须在类外以这样的形势进行初始化一次;


int main()
{
    Ctext a;
    cout << "Hello world!" << endl;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值