码迷,mamicode.com
首页 > 编程语言 > 详细

在c++这片神秘的大陆上

时间:2016-05-01 23:11:30      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

在c++这片神秘的大陆上,有一个无往而不利的地下王国,据说其手段血腥残忍,却深得民心,因为,他们是侠,是剑胆琴心,诗肠酒骨的侠客,他们不知解决了多少疑难杂症,除去了多少问题漏洞,而他们的首领-》类,则是一个更为神秘的存在,传说其有九千张面孔,其手下赫赫有名的分别是:构造,析构,静态, 常,普通,当然还有一把绝世神兵this,相当于召唤门,除了静态没有,其他成员都有 ,以及其侠客团->对象。

静态就像一个妖娆的美女 , 看似静如月 ,实则如烈火,心思玲珑,变幻莫测,潜 伏类的身侧 ,对外她是直属于类的 ,与类的其他手下对象无关,对内她的心高傲冷漠,孤立于类,不属于任何对象,也不是任何人的附庸 。不可以通过对象的this指针来访问。静态数据成员不可以用参数初始化表进行初始化操作原因很简单,因为初始化表是在定义对象的时候进行的利用了this指针进行操作,所以不可以。

static int num;

 

可以通过类名直接访问:

Test::num;

 

也可以通过对象名访问:

one.num

常就像一个女将军,她与静态不同,英姿飒爽,骁勇善战,武器是一把名为this的指针,坚守信仰,一旦定义了,即永远不会改变,据说已经练到人针合一,针到人到的境界。const 类型名 变量名,常数据成员只能通过构造函数的参数初始化表进行初始化。可以用this指针访问

private:
  const char * name;

 

 cout<<name<<" Happy Birthday!"<<endl;;

它们最大的区别就是静态数据成员是可以被修改的,而且可以被任何一个对象修改,修改后的值,可以被所有的对象共享

静态函数无this指针,所以它不能直接存取该类中非静态成员 , 是静态的随侍,他只为静态而存在,也只能由类名来调用 (ClassName::ClassStaticFunc(...))不能被声明为const,volatile,virtual,。

常函数是一个天真烂漫的少年,由于它本身属性的特异,他不能改变也不能更新对象的任何数据成员不能调用该类中没有const修饰的成员函数,他是光明与黑暗综合体,是常的忠实粉丝。

this总是只能在类中被调用。总指向当前对象。

如果静态函数向调用非静态变量那么必须借用类的指针

static FunctionA(a* _a)
  {
    _a-> menber = 1;

}

 

 

在c++这片神秘的大陆上

标签:

原文地址:http://www.cnblogs.com/greengold/p/5451370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!