技术标签: C++ static关键字 静态成员变量 静态成员函数 笔试/面试积累
xxx.h文件
class base{
private:
static const int _i;//声明,标准c++支持有序类型在类体中初始化,但vc6不支持。
};
xxx.cpp文件
const int base::_i=10;//定义(初始化)时不受private和protected访问限制.
class base{
public :
static int _num;//声明
};
int base::_num=0;//静态数据成员的真正定义
class derived:public base{
};
void main()
{
base a;
derived b;
a._num++;
cout<<"base class static data number _num is"<<a._num<<endl;
b._num++;
cout<<"derived class static data number _num is"<<b._num<<endl;
}
// 结果为1,2;可见派生类与基类共用一个静态数据成员。
class base{
public :
static int _staticVar;
int _var;
void foo1(int i=_staticVar);//正确,_staticVar为静态数据成员
void foo2(int i=_var);//错误,_var为普通数据成员
};
class base{
public :
static base _object1;//正确,静态数据成员
base _object2;//错误
base *pObject;//正确,指针
base &mObject;//正确,引用
};
class base{
public:
base(){_i=0;_val=0;}
mutable int _i;
static int _staticVal;
int _val;
void test() const{//const 成员函数
_i++;//正确,mutable数据成员
_staticVal++;//正确,static数据成员
_val++;//错误
}
};
int base::_staticVal=0;
class base{
static int func1();
int func2();
};
int (*pf1)()=&base::func1;//普通的函数指针
int (base::*pf2)()=&base::func2;//成员函数指针
class base{
virtual static void func1();//错误
static void func2() const;//错误
static void func3() volatile;//错误
};
介绍 (Introduction)If you are actively developing an application, using Docker can simplify your workflow and the process of deploying your application to production. Working with containers in develo...
学习链接:100道MySQL常见面试题总结写给 Java 程序员的 24 个MySQL面试题,拿走不谢!写给 Java 程序员的 24 个MySQL面试题,拿走不谢! 转MySQL经典面试题玩转Mysql系列 - 第24篇:如何正确的使用索引?...
FC-SAN和IP-SAN两者的优缺点分别是什么?一般来说,企业在面临iSCSI SAN存储解决方案时,多半喜欢拿FC SAN及NAS与其做一番比较。在此先就FC与iSCSI做一比较,基本两者同属走Block协议的SAN架构,只不过前者透过光纤,后者藉由IP传输数据罢了,而两者在管理及应用上也大同小异,其间只不过优劣好坏的差异。至于SAN与NAS的差异而言,笔者走访了...
node安装及环境变量配置
说说高斯过程回归作者介绍:新浪微博ID @妖僧老冯, 9月将赴南京大学(直博生),方向是机器学习与数据挖掘编者:小便和作者打过几次交道,一直以为是他是已“修成正果”的某某博士,便“毕恭毕敬”地去邀请他写篇牛文。细聊之后才得知小伙子原来是90后,9月份才博士入学。这篇文章对GP进行了深度科普,数学公式是有一些的,但耐心读读,都不是问题的。高斯过程是机器学习领域一个基础的方法,同时又和其他方法...
一、爬虫部分爬虫说明:1、本爬虫是以面向对象的方式进行代码架构的2、本爬虫爬取的数据存入到MongoDB数据库中3、爬虫代码中有详细注释4、爬虫爬取的美食是以无锡为例代码展示import jsonimport reimport timefrom pymongo import MongoClientimport requestsfrom lxml import htmlclass MeituanSpider(): def __init__(self): #
java的基本特征1.简单Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:Java的风格类似于C++,因而C++程序员是非常熟悉的。从某种意义上讲,Java语言是C及C++语言的一个变种,因此,C++程序员可以很快就掌握Java编程技术。Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。Ja...
安装Roboguide软件的详细步骤
node-webkit中使用sqlite3sqlite3的官方文档提到:nodejs和node-webkit的ABI不同,所以通过npm install sqlite3下载的sqlite3是无法使用的,需要重新编译。windows编译:以LTS版本(0.14.7)为例一、所需编译环境安装Python 2.7.14(不支持3.x版本)并设置好环境变量,下载地址:https://www.python.org/downloads/ 安装最新的nodejs+npm 下载地址:https...
题目链接:http://acm.hust.edu.cn/vjudge/problem/51191题意:给一个字符串,相同部分可以折叠,折叠可以嵌套。求最短长度的一种折叠方法。括号和数字的长度也要考虑进去。思路:对于一个字符串,有三种策略:1、不折叠。2、本身可以折叠。3、分为两个区间子问题。#include #include #include #inclu