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

网店推广实训系统seo建站教学

网店推广实训系统,seo建站教学,wordpress定时失败,阿里企业邮箱怎么注册转自#xff1a;http://www.cnblogs.com/gysm/archive/2011/09/16/2179277.html C类中谈到static,我们可以在类中定义static成员#xff0c;static成员函数#xff01;Cprimer里面讲过#xff1a;static成员它不像普通的数据成员#xff0c;static数据成员独立于该类的任意… 转自http://www.cnblogs.com/gysm/archive/2011/09/16/2179277.html C类中谈到static,我们可以在类中定义static成员static成员函数Cprimer里面讲过static成员它不像普通的数据成员static数据成员独立于该类的任意对象而存在每个static数据成员是与类关联的对象并不与该类的对象相关联这句话可能比较拗口其实可以这么理解每个static数据成员可以看成是类的一个对象而不与该类定义的对象有任何关系下面我们就来具体看看类中的static数据成员 谈到数据成员我们最先想到的应该是怎么去定义一个static数据成员static数据成员是存储在程序的静态存储区而并不是在栈空间上。既然是static数据成员所以关键字static是必不可少的例如 1 static.h文件 2 #include iostream 3 #include string 4 using namespace std; 5 class Person 6 { 7 private: 8 string name; 9 static int age;10 public:11 Person(const stringnm):name(nm)12 {}13 void Print()14 {15 coutname is ageendl;16 }17 };18 int Person::age20;19 20 static.cpp文件21 22 #include stdafx.h23 #include static.h24 #include iostream25 using namespace std;26 27 int _tmain(int argc, _TCHAR* argv[])28 { 29 Person person(tom);30 person.Print();31 coutendl;32 return 0;33 } Person类中定义了一个static数据成员age注意在类中不能对static数据成员进行初始化要初始化的话必须在类外进行定义注意static数据成员不是通过类构造函数进行初始化的如上面的代码所示在类外定义int Person::age20;这里前面就不要再加static了。如果类中有多个static数据成员static数据成员初始化的次序是按照static数据成员在类中的声明次序进行初始化的初始化了之后,就可以使用static数据成员了我们可以通过作用域操作符从类直接调用static数据成员或者通过对象引用或指向该类类型对象的指针间接调用这种情况下static数据成员必须是public的访问权限,如果定义在private访问权限下是不行的。 说到static数据成员有一种情况不得不提那就是特殊的const static成员。如上面所述类的static成员像普通数据成员一样不能在类的定义体中进行初始化。只能在类外进行初始化。const int 型的static成员便可以在类定义体内部进行初始化。记住一定只能是const int型的换成const string double都不行的。看下面这段代码 static.h头文件#include iostream#include stringusing namespace std;class Person{private: string name; static const int age20; static string address;public: Person(const stringnm):name(nm) {} static string Address() { return address; } void Print() { coutname is age ; }};string Person::addressBeijing;static.cpp文件#include stdafx.h#include static.h#include iostreamusing namespace std;int _tmain(int argc, _TCHAR* argv[]){ Person person(tom); person.Print(); cout and live in person.Address(); coutendl; return 0;} 只有age才能在类定义体内进行初始化address是不行的。这段代码不能在VC6.0上运行的它不支持。在vs2008上可以运行。在CPrimer里面有一段注解const static数据成员在类的定义体中进行了初始化后还必须在类的定义体之外进行定义。其实这是可要可不要的。上面的代码就没有这段代码实现其实加上去也是可以的没有关系。还有一点static数据成员的类型可以使该成员所属的类类型非static数据成员被限定为其自生类对象的指针或引用。例如类定义位如下的情况 class Person{private: string name; static const int age20; static string address; static Person person1; Person *person2; Person person3;public: Person(const stringnm):name(nm) {} static string Address() { return address; } void Print() { coutname is age ; }}; 如果没有定义person3则能够顺利通过编译但是加上了person3就不能通过编译了 说完了static成员后我们再来看看static成员函数static成员是类的组成部分并不是任何对象的组成部分因此,static成员函数没有this指针。我们知道,一般而言类中的成员函数具有一个附加的隐含实参即指向该类对象的一个指针。这个隐含实参命名为this。因为static成员函数不是任何对象的组成部分所以static成员函数就没有this形参了。由于成员函数声明为const说明该成员函数不会修改该成员函数所属的对象所以static成员函数不能声明为const。为什么呢因为static成员函数不是任何对象的组成部分。static成员函数可以直接访问所属类的static成员但是不能直接使用非static成员函数也不能访问static const 类型的成员在上面的代码中static  string Address函数中如果是return name或者是return age都不行 好吧就说这么些吧如果哪里有不当之处还请各位指正
http://www.yutouwan.com/news/176739/

相关文章:

  • 网站产品类别顺序如果修改localhost怎么做网站
  • 苏州外贸公司网站建设流程图Wordpress500页面
  • 网站建站查询app推广方案策划
  • 黄石网站建设维护做一个网站成本要多少钱
  • opencart网站建设虎丘苏州网站建设
  • 黄陂区建设招标网站网站模板怎么修改成可视化
  • 网站设计费报价表巩义便宜网站建设公司
  • wordpress建电商网站网站开发毕业设计开课题目
  • 网站制作窍门2016做网站
  • 做网站设计答辩问题个人开发什么软件挣钱
  • 新手建站论坛重庆市公司网站备案在哪了
  • 二手域名交易平台网站编辑做seo好做吗
  • python做网站视频教程网站功能策划
  • 网站开发遇到的问题广告设计与制作专业分析
  • 深圳建设交易中心网站平面设计兼职怎么收费
  • 成都网站制作成都wordpress 字符替换插件
  • 网站上传面板上海官网制作
  • 注册新公司网上核名网站wordpress安卓显示图片
  • 濮阳做网站的价格网站建设的软硬件平台
  • 网站存在风险什么意思设计师网站介绍
  • 广东省住房城乡建设厅网站三个年轻人做电影网站800万
  • 成品网站管理系统源码wordpress 主题放哪
  • 学网站建设 去那里珠海市官网网站建设价格
  • 网站建设论文的摘要包头有没有专业做淘宝网站的
  • 做代还的人都聚集在哪些网站德州住房和城乡建设厅网站
  • 详细论述制作网站的步骤广州网站建设正
  • 洛龙区网站设计建设石家庄网站快速备案
  • 崇安区网站建设价格国外最开放的浏览器有什么优势
  • jsp 响应式网站模板wordpress考试主题
  • 需要做网站的企业电子商务网站建设期末题库