首页 > 其他分享 >静态函数和非静态函数, 以及static关键字

静态函数和非静态函数, 以及static关键字

时间:2022-08-13 17:59:02浏览次数:57  
标签:函数 静态 成员 对象 static 变量

【1】C++类中静态变量理解
1)类里static变量特点:
  1、属于类本身,不属于对象
  2、程序的运行过程中只有一个副本
  3、不能在生成对象时初始化,即不能在构造函数中初始化
2)类里static变量初始化:
  1、类体外进行,变量前不用加static限定符
  2、变量前不加访问控制符private、public等
  3、使用作用域运算符表明它所属类

 

【2】类静态函数和非静态函数

(1) 类的静态成员函数和非静态成员函数的区别:静态成员函数和非静态成员函数都是在类的定义时放在内存的代码区的,因而可以说它们都是属于类的,但是类为什么只能直接调用静态类成员函数,而非静态类成员函数(即使函数没有参数)只有类对象才能调用呢?原因是类的非静态类成员函数其实都内含了一个指向类对象的指针型参数(即this指针),因而只有类对象才能调用(此时this指针有实值)。

(2) 类中包括成员变量和成员函数。new出来的只是成员变量,成员函数始终存在,所以如果成员函数未使用任何成员变量的话,不管是不是static的,都能正常工作。需要注意的是,虽然调用不同对象的成员函数时都是执行同一段函数代码,但是执行结果一般是不相同的。不同的对象使用的是同一个函数代码段,它怎么能够分别对不同对象中的数据进行操作呢?原来C++为此专门设立了一个名为this的指针,用来指向不同的对象。

 

标签:函数,静态,成员,对象,static,变量
From: https://www.cnblogs.com/weijian168/p/16583653.html

相关文章