C++ 类模板三(类模版中的static关键字)
//类模版中的static关键字
#include<iostream>
using namespace std; /*
类模板本质上是c++编译器根据类型参数创建了不同的类,
c++编译器在利用类模板生成类的时候会为每个类生成一个static变量
那么对于类中的static关键字就非常好理解了
static关键字修饰的变量是属于类的 同一个类的对象共享类的static静态变量 类模板中的static修饰的变量数据类型必须是确定的 不可以是类型参数 因为静态变量在类对象之前初始化
这时候还没有通过类模板生成类类
*/ template<typename T>
class Point{
public:
Point(T a,T b){
this->x = a;
this->y = b;
}
static int total;
static void Print(){
cout << "total=" << total << endl;
}
private:
T x;
T y;
}; //类中静态变量唯一的初始化方式
template<typename T>
int Point<T>::total = ; void ProtectA(){
Point<int> p1(,);
p1.total = ;
Point<int> p2(, );
Point<float> p3(4.0, 4.0);
p3.total = ;
//同一个类共享一个静态变量
p2.Print();
//不同的类不会共享一个静态变量
Point<float>::Print();
} void main(){
ProtectA();
system("pause");
}
C++ 类模板三(类模版中的static关键字)的更多相关文章
- C++ 类的继承五(类继承中的static关键字)
//类继承中的static关键字 #include<iostream> using namespace std; /* 派生类中的静态成员 基类定义的静态成员,将被所有派生类共享 根据静态 ...
- singleton 类模板限制类只能定义一个对象
singleton 类模板限制类只能定义一个对象 singleton 类模板限制类只能定义一个对象 singleton 类模板限制类只能定义一个对象 ???
- (转)Java中的static关键字解析
转载: http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: &q ...
- Java中的static关键字解析
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...
- (转)Java中的static关键字解析
转自http://www.cnblogs.com/dolphin0520/p/3799052.html 一.static关键字的用途 在<Java编程思想>P86页有这样一段话: “sta ...
- Java中的static关键字解析 转载
原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...
- Java中的static关键字解析(转自海子)__为什么main方法必须是static的,因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。
Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一.下面就先讲述一下static关键 ...
- Java中的static关键字
写在前面: 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰 ...
- java中的static关键字详解
static对于我们这些初学者在编写代码和阅读代码是一个难以理解的关键字,也是大量公司面试题最喜欢考的之一.下面我就来就先讲述一下static关键字的用法和我们初学者容易误解的地方. static关键 ...
随机推荐
- android开发笔记之Volley (1)
1. volley的简介 Volley is an HTTP library that makes networking for Android apps easier and most import ...
- [Angular] Improve Server Communication in Ngrx Effects with NX Data Persistence in Angular
Communicating with a remote server via HTTP presents an extra level of complexity as there is an inc ...
- 程序的入口及AppDelegate窗体显示原理
AppDelegate.m - (void)dealloc { [_window release]; [super dealloc]; } - (BOOL)application:(UIApplica ...
- 使用JTextArea示例
相对于JLabel显示提示文字,JTextArea有一个先天优势:文字可以拷贝出来.经过下面设置它也能在外观上和JLabel一致. 代码如下: JTextArea txtArea=new JTextA ...
- redis学习笔记——命令执行流程
基础知识部分 如果需要掌握Redis的整个命令的执行过程,那么必须掌握一些基本的概念!否则根本看不懂,下面我就一些在我看来必备的基础知识进行总结,希望能为后面命令的整个执行过程做铺垫. 事件 Redi ...
- CSS学习(九)-CSS背景
一.理论: 1.background-break a.bounding-box 背景图像在整个内联元素中进行平铺 b.each-box 背景图像在行内中进行平铺 c.continuous 下一行的背 ...
- Xshell连接mysql数据库乱码问题解决思路总结
乱码问题一直是一件让人头疼的事情,乱码就是编码格式不统一产生的,下面将一些常见的解决思路整理: 先Xshell连接上数据库,查看数据的编码格式: 一般需要看这么几个地方(附修改命令): 1.数据库的编 ...
- PHPStorm Xdebug 反应很慢怎么办?
PHPStorm解决Xdebug Slow问题 PHPStorm Xdebug 反应很慢怎么办? 今天白天才架起PHPStorm+xdebug的调试环境,就遇到了各式各样的问题:访问超慢响应.访问超快 ...
- android 从Activity 获取 rootView 根节点
private static View getRootView(Activity context) { return ((ViewGroup)context.findViewById(android. ...
- Android webView 支持缩放及自适应屏幕
//支持javascript web.getSettings().setJavaScriptEnabled(true); // 设置可以支持缩放 web.getSettings().setSupp ...