当前位置: 首页 > news >正文

河南创达建设工程管理有限公司网站哪个平台可以接推广任务

河南创达建设工程管理有限公司网站,哪个平台可以接推广任务,广告设计与制作培训学校,WordPress推送服务在C中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。 静态成员的定义或声明要…

        在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。

静态成员的定义或声明要加个关键static。静态成员可通过双冒号来使用<类名>::<静态成员名>。

        在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静态成员变量和成员函数使用规则,再给出一个实例来加深印象。希望阅读本文可以使读者对类的静态成员变量和成员函数有更为深刻的认识。

例1:

class Point{
public:
void init(){
//...}static void output(){
//...}
};int main(){Point::init();    //作用域调用非静态成员函数Point::output();    //作用域调用静态成员函数return 0;
}

编译出错:error C2352: 'Point::init' : illegal call of non-static member function

结论1:不能通过类名来调用类的非静态成员函数。

正确写法为以下代码:

class Point {
public:void init() {//...}static void output() {//...}
};int main() {Point p1;        //实例化对象p1.output();     //只能通过对象调用非静态函数Point::output();    //作用域调用静态成员函数return 0;}

编译通过。

结论2:类的对象可以使用静态成员函数和非静态成员函数。

例2:

#include <stdio.h>
class Point{public:void init(){}static void output(){printf("%d ", m_x);        //err}private:int m_x;};int main()Point pt;pt.output();return 0;
}

        编译出错:error C2597: illegal reference to data member 'Point::m_x' in a static member function

        因为静态成员函数属于整个类,在类实例化对象之前就已经分配空间了,而类的非静态成员必须在类实例化对象后才有内存空间,所以这个调用就出错了,就好比没有声明一个变量却提前使用它一样。

结论3:静态成员函数中不能引用非静态成员。

例3:

class Point{public:void init(){output();}static void output(){}
};int main(){Point pt;pt.output();return 0;}

编译通过。

结论4:类的非静态成员函数可以调用用静态成员函数,但反之不能。

例4:

class Point{public:Point(){m_nPointCount++;}~Point(){m_nPointCount--;}static void output(){printf("%d ", m_nPointCount);}private:static int m_nPointCount;
};int main(){Point pt;pt.output();return 0;        
}

编译错误!

        这是因为类的静态成员变量在使用前必须先初始化。在main()函数前加Point::m_nPointCount = 0;  再编译链接无错误,运行程序将输出1。

改正:

class Point {
public:Point() {m_nPointCount++;}~Point() {m_nPointCount--;}static void output() {printf("%d ", m_nPointCount);}
private:static int m_nPointCount;};
//类静态成员变量初始化赋值
int Point:: m_nPointCount = 0;int main() {Point pt;pt.output();return 0;
}

编译+运行通过

结论5:类的静态成员变量必须先初始化再使用。

总结:

结论1:不能通过类名来调用类的非静态成员函数。

结论2:类的对象可以使用静态成员函数和非静态成员函数。

结论3:静态成员函数中不能引用非静态成员。

结论4:类的非静态成员函数可以调用用静态成员函数,但反之不能。

结论5:类的静态成员变量必须先初始化再使用。

 

http://www.ritt.cn/news/1927.html

相关文章:

  • 网站建设维护大数据营销案例
  • 做流程图用什么网站好网站运营工作的基本内容
  • 介绍湛江网站邯郸百度推广公司
  • 定制软件开发报价慧聪网seo页面优化
  • 以家乡为主题做网站网站访问量统计工具
  • 网站建设技术合同优化问题
  • 电子商务网站建设实训感想济南优化网站关键词
  • 大德通网站建设百度扫一扫识别图片
  • 周浦做网站公司网络营销的常用工具
  • 国外做贸易网站百度招聘网最新招聘信息
  • 济南哪有做网站的网络营销概述
  • 前端做项目网站googleseo排名公司
  • 网站开发职业前景评估分销渠道
  • 个旧网站建设公司整站优化seo
  • 小程序嵌套wordpress北京seo服务商
  • 做同业业务一般关注哪些网站廊坊首页霸屏排名优化
  • wordpress刷赞网站源码icp备案查询
  • 和wordpress类似的源码手机优化软件下载
  • 国际网站怎么样做宁德市旅游景点大全
  • 东营网站建设关键字排名问题百度推广投诉电话客服24小时
  • 中小型网站建设报价口碑营销的方法
  • 网站优化具体怎么做电商数据统计网站
  • 2019做哪个网站赚钱百度关键词seo优化
  • 特种作业操作证查询网站如何搜索关键词热度
  • 做邮轮的网站全国疫情又严重了
  • 网站建设高考题怎么去推广自己的公司
  • 建一个网站首先要怎么做顶尖文案网站
  • 可以让外国人做问卷调查的网站湖南网站seo营销
  • 哈尔滨大型网站开发网站开发的流程
  • 做三折页的网站天津seo管理平台