C++:静态成员函数

news/2024/7/3 12:28:42 标签: c++, , 多态, 指针

 

静态成员函数总结:


①静态成员函数是中的特殊的成员函数
②静态成员函数没有隐藏的this指针:当调用一个对象的非静态成员函数时,系统会将该对象的起始地址赋值给成员函数的this指针.但是,静态成员函数不属于某个对象,为该的所有对象共享,所以静态成员函数没有this指针
③静态成员函数可以通过名直接访问
④静态成员函数可以通过对象访问
⑤静态成员函数只能直接访问静态成员变量(函数),而不能直接访问普通成员变量(函数)
⑥静态成员函数主要是为了处理静态成员变量。

⑦非静态成员函数可以任意地访问静态成员函数和静态数据成员;


静态成员变量:


  的静态成员变量属于的成员而不是对象,供所有对象共享,存放于全局区,因而不计入的内存计算。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员变量可以通过直接访问。

(1)静态成员变量的初始化


①静态成员不属于的任何对象,所以并不是对象建立时被定义的,所以它不能由的构造函数初始化,一般也不能在内初始化。
②关键字static只出现的内部。
③在外定义且初始化
④常量静态成员可以在内初始化


(2)静态成员变量的访问


①使用作用域运算符直接访问
②使用的对象访问
③成员函数可以直接访问
 


http://www.niftyadmin.cn/n/1325402.html

相关文章

R-CNN论文阅读记录

R-CNN: Regions with CNN features 论文的链接:Rich feature hierarchies for accurate object detection and semantic segmentation目标检测: 先确定需要检测什么?是检测人还是检测猫或者检测狗,还是说都要检测,大多…

gm灰色预测matlab代码,灰色预测gm(1,1)MATLAB代码

clear%原始数据输入;x0[3.936;4.575;4.968;5.063;5.968;5.507];nlength(x0);%由数列x0生成数列x1;s0;for i1:nssx0(i);x1(i)s;end%由数列x1生成矩阵C和A;for i1:(n-1);A(i)-(x1(i)x1(i1))/2;endA[Aones(n-1,1)];for i1:(n-1);C(i)x0(i1);endCC;betainv(A…

C++:期末复习题(1)

解析:使用fstream类建立文件流必须定义打开方式,否则编译器无法判断该文件流是读还是写。 解析:

MySQL Community Server5.7.2社区免安装版win10配置安装教程

MySQL Community Server5.7.2免安装版配置教程 下载压缩包并解压 进入MySQL server的下载链接,根据电脑的型号下载好压缩包,下载好以后可以解压到一个文件夹,这里解压的路径是:D:Software\,得到一个解压以后的文件夹。…

php 数字金额 分隔符,PHP数字金额转大写简体,精确到元和分

PHP数字金额转大写简体,精确到元和分8个月前阅读 1053评论 0喜欢 0php/*** 将数值金额转换为中文大写金额* param $amount float 金额(支持到分)* param $type int 补整类型,0:到角补整;1:到元补整* return mixed 中文大写金额*/public function convertAmountToCn(…

C++:计算表达的问题、逻辑运算与位运算

算术运算 数的表示范围 中间结果溢出 浮点数的比较 #include<iostream> #include<cmath> using namespace std; int main() {double d1 123456789.9*9;double d2 1111111109.1; if ( d1!d2 ) cout << “Not same\n” ; else cout << “Same\n” …

《C++语言程序设计基础》学习之多态

多态&#xff0c;顾名思义就是操作接口&#xff0c;具有表现多种不同形态的能力&#xff0c;在不同的环境下&#xff0c;对不同的对象&#xff0c;具有不同的处理方式&#xff0c;多态实际上是通过绑定来实现的&#xff0c;所谓绑定就是将一个标志符名称&#xff0c;与一段函数…

python3写入文件,Python3写入文件常用方法实例分析

本文实例讲述了Python3写入文件常用方法。分享给大家供大家参考。具体如下&#xff1a;Created on Dec 18, 2012写入文件author: liury_lab# 最简单的方法all_the_text hello pythonopen(d:/text.txt, w).write(all_the_text)all_the_data babcd1234open(d:/data.txt, wb).wr…