C++ static内容小结

C++中static总结比较好的博客:http://blog.csdn.net/laixingjun/article/details/9139839

http://blog.csdn.net/xiajun07061225/article/details/6955226

static的用法:

  有时人们希望有某一个或几个数据
  成员为所有对象所共有。这样可以实现数据共享。

#include<iostream>
using namespace std;
class Box
{
        public:
                Box(int,int);
                int volume();
                static int height;
                int width;
                int length;
};

Box::Box(int w,int len)
{
        width = w;
        length = len;
}

int Box::volume()
{
        return (height*width*length);
}

int Box::height = 10;

int main()
{
        Box a(15,20) ,b(20,30);
        cout<<a.height<<endl;
        cout<<b.height<<endl;
        cout<<Box::height<<endl;
        cout<<a.volume()<<endl;
}

【1】这说明静态数据成员并不是属于对象的,而是属于
  类的,但类的对象可以引用它。

【2】静态数据成员的作用域只限于定义该类的作用
  域内(如果是在一个函数中定义类,那么其中静态
  数据成员的作用域就是此函数内)。在此作用域
  内,可以通过类名和域运算符“∷”引用静态数据成
  员,而不论类对象是否存在。

【3】静态成员函数

A:  静态成员函数的作用不是为
  了对象之间的沟通,而是为了能处理静态数据成员

B: 静态成员函数与非静态成员函数的根本区
  别是: 非静态成员函数有thisthis指针,而静态成员函
  数没有this指针。由此决定了静态成员函数不能访
  问本类中的非静态成员。

C++ static内容小结

时间: 2024-08-25 18:24:37

C++ static内容小结的相关文章

14-6-27&amp;28自学内容小结

Java对大小写十分敏感 运行时如果没有找到class,会出现NoClassDefFoundError的表达 如果没有找到main method,会出现NoSuchMethodError的表达 制作对话框:需要在JOptionPane class里用到showMessageDialog method 格式:JOptionPane.showMessageDialog(null,"对话框内容","对话框标题",JOptionPane.INFORMATION_MESSAG

第三章内容小结

1.内容小结:在第三章的学习中我们学习到了两种特殊的线性表:栈和队列. (1)特殊性:栈:限定仅在表尾(栈顶)进行插入或者删除的线性表,后进先出. 队列:只允许在表的一端进行插入(队尾),而在另一端(队头)进行删除的线性表.先进先出. (2)存储方式:顺序存储(顺序栈:循环队列)和链式存储(链栈:链队). (3)主要操作: 栈:入栈和出栈.对于顺序栈的入栈和出栈操作前要判断栈满或栈空. 队列:入队和出队.对于顺序队的循环队列进队和出队操作要判断队满或队空.涉及队头或队尾指针的修改都要将其对MAX

C语言关于数组与指针内容小结

数组的基本概念 什么是数组:数组就是:数组是相同类型的元素的一个集合       类型说明符 数组名 [常量表达式]: 其中,类型说明符是任一种基本数据类型或构造数据类型.数组名是用户定义的数组标识符.方括号中的常量表达式表示数据元素的个数,也称为数组的长度.例如: int a[10]; /* 说明整型数组a,有10个元素 */ float b[10], c[20]; /* 说明实型数组b,有10个元素,实型数组c,有20个元素 */ char ch[20]; /* 说明字符数组ch,有20个元

3天学习完AngularJS基础内容小结

简介:AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库. 一.AngularJS大致功能模块 二.页面交互变得简单 1.示例:计算价格 <html> <head> <meta name="viewport" content="width=device-width" /> <meta charset="utf-8"> <script src=&q

课堂内容小结

EnumTest.java程序运行分析 分析: System.out.println(s==t);运行输出的结果输出结果是false,说明“==”号作用是判断s和t是否相等,如果是则输出true,不是则输出false. 得到的结论:枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象.相同的值则引用同一个对象.可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的. 动手试验 请运行以下代码(TestDou

第二周学习内容小结

学习时间:6小时 一·学习任务 1.在终端输入vimtutor进入教程,学习vim的基本操作 2.使用gcc,gdb编译.c文件 3.学会使用Makefile,将多个文件放在一个文件夹中 二·学习方法 在本周实验中,学习使用了与Linux类似的mac os,在air上使用十分方便,通过学习实验楼及PDF上的书上第三章的知识对本周内容进行学习. 三·学习过程 1.关于vim的基本操作 在终端中输入vimtutor进入教程.在教程中学会使用了一些基本指令,如打开一个新文件之后按下i键就可以输入文本,

第二章内容小结

本章以线性表的定义和特点为切入点,对顺序表和链表的初始化,取值,查找,插入,删除等相关操作进行详细的介绍.对线性表顺序存储和链式存储的相对于各种操作的效率.优缺点以及时间复杂度进行了详细的比较.而顺序表一般可用数组进行表示,若要进行随机查找操作用顺序表更好,若有大量的插入删除操作则选择可用指针表示的链表进行存储更好.在这章我们也明白了元素在顺序表和链表中的存储方式. 最开始在本章学习中我比较多的是懂得了具体的存储方式和结构,编程能力却仍比较弱,懂得如何进行却总打出错误代码,后来就是要反复地看数据

第四章内容小结

1.串的学习: 1)对串的操作有在串中查找某个子串,求取一个子串,在串的某个位置插入一个子串,删除一个子串等: 2)串的存储结构分为串的顺序存储.串的链式存储:若多用插入及删除操作则使用链式存储更方便: 3)串的模式匹配算法分为BF算法和KMP算法,BF算法的匹配过程易于理解,但是该算法在最好情况下的平均时间复杂度为O(n+m),最坏情况下的平均时间复杂度为O(nxm),算法的时间复杂度较高.KMP算法较为复杂一点,但它可在O(m+n)的时间数量级上完成串的模式匹配操作,KMP算法最大的特点是指

python爬微信公众号前10篇历史文章(5)-JSON相关内容小结

json - JSON encoder and decoder JSON: JavaScript object notation,是一种轻量级的数据交换格式.JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串. JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台.JSON 解析器和 JSON 库支持许多不同的编程语言. JSON语法规则: 对象表示为键值对 数据由逗号分割 花括号保存对象 方括号保存数组 JS