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

网站首页上的动画是咋做的seo关键词是什么

网站首页上的动画是咋做的,seo关键词是什么,个体户能做网站备案吗,网站设置搜索关键字在C中#xff0c;成员变量和成员函数是分开存储的#xff0c;只有非静态成员变量才存储在类中或类的对象上。通过该类创建的所有对象都共享同一个函数#include iostream using namespace std;class Monster {public://成员函数不占对象空间#xff0c;所有对象共享同…在C中成员变量和成员函数是分开存储的只有非静态成员变量才存储在类中或类的对象上。通过该类创建的所有对象都共享同一个函数#include iostream using namespace std;class Monster {public://成员函数不占对象空间所有对象共享同一个函数Monster():m_monsterId(0){}//成员函数不占对象空间所有对象共享同一个函数Monster(const int monsterId):m_monsterId(monsterId){}//成员函数不占对象空间所有对象共享同一个函数Monster(const Monster m){m_monsterId m.m_monsterId;}//成员函数不占对象空间所有对象共享同一个函数~Monster(){}//静态成员函数存储在全局静态区不占对象空间static void setMonsterCounter(const int counter){ms_counter counter;}//静态成员函数存储在全局静态区不占对象空间static int getMonsterCounter(){return ms_counter;}private://静态成员变量存储在全局静态区不占对象空间static int ms_counter; //计数//非静态成员变量占对象空间int m_monsterId; //怪物id };int Monster::ms_counter 0;int main(int argc, char *argv[]) {cout sizeof(Monster) sizeof(Monster) endl;Monster m;cout sizeof(m) sizeof(m) endl;return 0; }在C中空类占用内存大小为一个字节因为即使是一个空对象也要分配存储空间来识别这个空对象所以C分配了一个字节大小的空间给每一个空对象。#include iostream using namespace std;class Monster {};int main(int argc, char *argv[]) {Monster m;cout 空类占用内存大小为 sizeof(Monster) endl;cout 空对象占用内存大小为 sizeof(m) endl;return 0; }C中成员变量和成员函数是分开存储的只有非静态成员才存储在类中或类的对象上。不管通过该类创建了多少对象该类的每一个非静态成员函数只有一份所有对象都同享非静态成员函数那么这些非静态成员函数是如何区分是哪个对象调用自己的呢C通过this指针解决这个问题。this指针的特点this指针隐含在每一个非静态成员函数内每一个非静态成员函数都隐含有一个this指针。当对象调用非静态成员函数时this指针指向该对象。this指针是是在非静态成员函数的开始前构造并在非静态成员函数的结束后清除的不需要声明直接使用即可。this指针的本质是指针常量存储了调用该非静态成员函数的对象的地址所以this指针的指向是不可以修改的。注意这里我们一直强调每一个非静态成员函数都隐含有一个this指针而静态成员函数的函数体内只能访问静态成员变量和静态成员函数不能访问非静态成员变量和非静态成员函数所以静态成员函数是没有this指针的。this指针的作用在类的非静态成员函数中形参和成员变量同名时可以通过this指针来指明是对象的成员还是形参名。在类的非静态成员函数中需要返回该对象时通过使用return *this; 返回该对象自身。#include iostream using namespace std;class Monster {public:Monster():monsterId(0){}//这里通过对象初始化列表的方式是可以区分:monsterId是成员变量(monsterId)是形参的//而且对象初始化列表中不能用:this-monsterId(monsterId)Monster(const int monsterId):monsterId(monsterId){}Monster(const Monster m):monsterId(m.monsterId){}~Monster(){}Monster getSelf(){return *this; //返回对象本身}// static Monster getSelfByStatic()// {// return *this; //错误非静态成员函数没有this指针// }void setMonsterId(const int monsterId){this-monsterId monsterId; //形参和成员变量同名所以需要用this指针区分不然编译器不知道monsterId是成员变量还是形参}int getMonsterId(){return monsterId;}private:int monsterId; };int main(int argc, char *argv[]) {Monster m(10001);cout 怪物id m.getMonsterId() endl;m.setMonsterId(10002);cout 怪物id m.getSelf().getMonsterId() endl;return 0; }注意通过对象初始化列表的方式是可以区分:monsterId是成员变量(monsterId)是形参的而且对象初始化列表中不能用:this-monsterId(monsterId)编译器会报错的//这里通过对象初始化列表的方式是可以区分:monsterId是成员变量(monsterId)是形参的 //而且对象初始化列表中不能用:this-monsterId(monsterId)编译器会报错的 Monster(const int monsterId):monsterId(monsterId) {}C中是允许空指针调用成员函数的这时this NULL所以在非静态成员函数中如果用到this指针应该在用到this指针前加以判断this指针是否为NULL。但是在程序设计的过程中我们应该尽量禁用用空指针调用成员函数稍微不注意可能会导致我们的程序出现崩掉的情况。const修饰的类成员常量成员变量在成员变量前用const修饰该的成员变量egconst int m_monsterId;。常量成员变量只能在构造函数中用初始化列表进行初始化并且初始化后不能再修改。常量成员函数在成员函数后加上const修饰的成员函数egvoid getMonsterId() const也叫常函数。常量成员函数不能修改普通的成员属性但常量成员函数可以对有mutable修饰的成员属性进行修改。常对象const修饰的对象叫常对象常对象只能调用常函数#include iostream using namespace std;class Monster {public:Monster():m_monsterId(0), m_name(怪物), m_blood(500){}Monster(const int monsterId, const string name, const int blood):m_monsterId(monsterId), m_name(name), m_blood(blood){}Monster(const Monster m):m_monsterId(m.m_monsterId), m_name(m.m_name), m_blood(m.m_blood){//m_name m.m_name; //错误常量成员属性只能用初始化列表进行初始化这句调用编译器会报错}~Monster(){}void setMonsterId(const int monsterId){m_monsterId monsterId;}int getMonsterId() const{//m_monsterId 0; //错误常函数不能修改普通成员变量的值return m_monsterId;}void setName(const string name){//m_name name; //错误m_name是常量成员属性不能修改}string getName() const{return m_name;}void setBlood(const int blood) const{m_blood blood; //正确常函数可以修改用mutable修饰的成员属性}int getBlood(){return m_blood;}int getCounter(){return ms_counter;}private:int m_monsterId; //怪物idconst string m_name; //怪物名字 常量成员属性mutable int m_blood; //血量static int ms_counter; }; int Monster::ms_counter 0;int main(int argc, char *argv[]) {Monster m1(10001, 雪女, 10000);cout 怪物id m1.getMonsterId() 怪物名字 m1.getName() 怪物血量 m1.getBlood() endl;const Monster m2(20001, 紫衣仙子, 20000);cout 怪物id m2.getMonsterId() endl; //正确常对象可以调用常函数//m2.setMonsterId(20002); //错误常对象不可以调用普通成员函数//m2.getCounter(); //错误常对象不可以调用静态成员函数return 0; }类的静态(static)成员和常量(const)成员是两个不同的概念我们不应该混淆类的静态成员static成员变量所有对象共享一份数据在编译阶段分配内存类内声明类外初始化有publicprotectedprivate访问权限static成员函数在成员函数前加 static所有对象共享一个函数静态成员函数的函数体内只能访问静态成员变量或静态成员函数不能访问非静态成员变量和非静态成员函数有publicprotectedprivate权限
http://www.w-s-a.com/news/533792/

相关文章:

  • 运营企业网站怎么赚钱动漫制作专业概念
  • 宜春网站建设推广网络推广工作好干吗
  • 网站程序0day平顶山市做网站
  • 企业网站名称怎么写哔哩哔哩网页版官网在线观看
  • 直播网站建设书籍阿里巴巴网站建设销售
  • 肇庆企业自助建站系统郴州网站建设解决方案
  • 长沙专业做网站排名游戏开发大亨内购破解版
  • 网站推广适合女生做吗网站如何开启gzip压缩
  • 做外单阿里的网站建站平台那个好
  • 全国性质的网站开发公司关于网站开发的请示
  • 齐齐哈尔住房和城乡建设局网站生物科技公司网站模板
  • 中国建设协会官方网站前端培训的机构
  • 网站建设套餐是什么北京孤儿院做义工网站
  • 网站如何做微信支付链接做暧小视频xo免费网站
  • SEO案例网站建设重庆建站模板平台
  • 上海seo网站推广公司wordpress 小米商城主题
  • 搭建服务器做网站什么网站可以请人做软件
  • 上海建筑建材业网站迁移公家网站模板
  • 仿制别人的网站违法吗网站防火墙怎么做
  • 杨浦网站建设 网站外包公司如何进行网络推广
  • wordpress+仿站步骤超详细wordpress常用函数
  • 浙江手机版建站系统哪个好怎样黑进别人的网站
  • 企业网站搜索引擎推广方法装修网络公司
  • 网站运营优化建议wordpress 添加媒体
  • 用asp.net做网站计数器施工企业会计的内涵
  • 网站被黑咋样的网站建设 设计业务范围
  • 网站开发学哪种语言网站编辑器失效
  • WordPress插件提示信息江阴网站优化
  • 网站开发用的软件如何做网站内容管理
  • 扬州网站建设公司网站推广是什么岗位