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

做网站链接怎么做中国企业网信息查询系统

做网站链接怎么做,中国企业网信息查询系统,伊春市建设局网站,H5网站模板修改教程目录 一、const成员1.1 取地址及const取地址操作符重载 二、再谈构造函数2.1 构造函数体赋值2.2 初始化列表2.3 explicit关键字 三、static成员3.1 概念3.2 特性 四、友元4.1 友元函数4.2 友元类 五、内部类六、匿名对象 一、const成员 将const修饰的“成员函数”称之为const成… 目录 一、const成员1.1 取地址及const取地址操作符重载 二、再谈构造函数2.1 构造函数体赋值2.2 初始化列表2.3 explicit关键字 三、static成员3.1 概念3.2 特性 四、友元4.1 友元函数4.2 友元类 五、内部类六、匿名对象 一、const成员 将const修饰的“成员函数”称之为const成员函数const修饰类成员函数实际修饰该成员函数隐含的this指针表明在该成员函数中不能对类的任何成员进行修改。 const对象不可以调用非const成员函数 - 权限放大非const对象可以调用const成员函数 - 权限缩小const成员函数内不可以调用其它的非const成员函数 - this指针被const修饰权限放大非const成员函数内可以调用其它的const成员函数 - 权限缩小 1.1 取地址及const取地址操作符重载 这两个默认成员函数一般不用重新定义 编译器默认会生成。 class Date { public:Date* operator(){return this;}const Date* operator() const{return this;} private:int _year; // 年int _month; // 月int _day; // 日 };这两个运算符一般不需要重载使用编译器生成的默认取地址的重载即可只有特殊情况才需要重载比如想让别人获取到指定的内容 二、再谈构造函数 2.1 构造函数体赋值 在创建对象时编译器通过调用构造函数给对象中各个成员变量一个合适的初始值。 class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;} private:int _year;int _month;int _day; };虽然上述构造函数调用之后对象中已经有了一个初始值但是不能将其称为对对象中成员变量的初始化构造函数体中的语句只能将其称为赋初值而不能称作初始化。因为初始化只能初始化一次而构造函数体内可以多次赋值。 2.2 初始化列表 初始化列表以一个冒号开始接着是一个以逗号分隔的数据成员列表每个成员变量后面跟一个放在括号中的初始值或表达式。 Date(int year, int month, int day): _year(year), _month(month), _day(day) {}【注意】 每个成员变量在初始化列表中只能出现一次(初始化只能初始化一次)类中包含以下成员必须放在初始化列表位置进行初始化 引用成员变量 const成员变量 自定义类型成员(且该类没有默认构造函数时) class A { public:A(int a):_a(a){} private:int _a; }; class B { public:B(int a, int ref):_aobj(a), _ref(ref), _n(10){} private:A _aobj; // 没有默认构造函数int _ref; // 引用const int _n; // const };有一些变量(引用const)必须要在定义时初始化对于一个类来说在对象实列化时就整体定义了那么哪里是每个成员定义的地方呢 于是找到了对象实例化必须调用的构造函数但如果在构造函数体中的话可能出现多次初始化的情况。 最后规定了初始化列表这一概念其是每个成员变量定义初始化的位置 如上如所示 在构造函数体中的是赋值修改 能用初始化列表就建议使用初始化列表 尽量使用初始化列表初始化因为不管你是否使用初始化列表对于自定义类型成员变量一定会先使用初始化列表初始化(即使初始化列表未给值被初始化为随机值)。 我们前面讲的在声明时给缺省值其实那个缺省值就是给初始化列表用的 成员变量在类中声明次序就是其在初始化列表中的初始化顺序与其在初始化列表中的先后次序无关。 class A { public:A(int a):_a1(a), _a2(_a1){}void Print() {std::cout _a1 _a2 std::endl;} private:int _a2;int _a1; }; int main() {A aa(1);aa.Print(); }2.3 explicit关键字 构造函数不仅可以构造与初始化对象对于单个参数或者除第一个参数无默认值其余均有默认值的构造函数还具有类型转换的作用。 class C { public:C(int c 0):_c(c){} private:int _c; };int main() {C cc1(10);C cc2 2;const C cc3 3; //3处return 0; }如上程序可以正常运行正是因为单参数构造函数支持隐式类型转换 此处用2构造了一个类C的临时对象然后再拷贝构造cc2。即用一个整形变量给C类型对象赋值实际编译器背后会用2构造一个无名对象最后用无名对象给cc2对象进行拷贝构造。 3处也是可以的cc3引用3构造出来的临时对象具有常性需要const引用 用法粗略演示MyStack类中存放C类如果要插入数据就要先定义C类对象(C cc1(1))然后再插入(st.Push(cc1))。这样的话就太麻烦了我们便可用如上方法合理运用隐式类型转换 class MyStack { public:void Push(const C c) { /* ... */ } private:C cc;// ... }; int main() {MyStack st1;C cc1(1);st1.Push(cc1);st1.Push(2); //单参数构造函数支持隐式类型转换return 0; }虽然有多个参数但是创建对象时后两个参数可以不传递也具有类型转换作用如下日期类 Date(int year, int month 1, int day 1): _year(year), _month(month), _day(day){}用explicit修饰构造函数将会禁止构造函数的隐式转换。 三、static成员 3.1 概念 声明为static的类成员称为类的静态成员用static修饰的成员变量称之为静态成员变量用static修饰的成员函数称之为静态成员函数。静态成员变量一定要在类外进行定义初始化 面试题实现一个类计算程序中创建出了多少个类对象。 class A { public:A() { _scount; }A(const A t) { _scount; }~A() { --_scount; }static int GetACount() { return _scount; } //静态成员函数 private:static int _scount; //静态成员变量 }; int A::_scount 0; //类中声明类外定义 void TestA() {std::cout A::GetACount() std::endl;A a1, a2;A a3(a1);std::cout A::GetACount() std::endl; }3.2 特性 静态成员为所有类对象所共享不属于某个具体的对象存放在静态区静态成员变量必须在类外定义定义时不添加static关键字类中只是声明类静态成员即可用 类名::静态成员 或者 对象.静态成员 来访问静态成员函数没有隐藏的this指针不能访问任何非静态成员静态成员也是类的成员受public、protected、private访问限定符的限制 【问题】 静态成员函数可以调用非静态成员函数吗非静态成员函数可以调用类的静态成员函数吗 四、友元 友元提供了一种突破封装的方式有时提供了便利。但是友元会增加耦合度破坏了封装所以友元不宜多用。 友元分为友元函数和友元类 4.1 友元函数 问题现在尝试去重载operator然后发现没办法将operator重载成成员函数。因为cout的输出流对象和隐含的this指针在抢占第一个参数的位置。 this指针默认是第一个参数也就是左操作数了。但是实际使用中cout需要是第一个形参对象才能正常使用。所以要将operator重载成全局函数。但又会导致类外没办法访问成员此时就需要友元来解决。operator同理。 //若重载成类的成员函数 ostream operator(const Date* this, ostream _cout); // d1 cout; - d1.operator(d1, cout); 不符合常规调用 // 因为成员函数第一个参数一定是隐藏的this所以d1必须放在的左侧 ostream operator(ostream _cout) {_cout _year - _month - _day endl;return _cout; }友元函数可以直接访问类的私有成员它是定义在类外部的普通函数不属于任何类但需要在类的内部声明声明时需要加friend关键字。 //类中声明 friend ostream operator(ostream _cout, const Date d);//类外定义 ostream operator(ostream _cout, const Date d) {_cout d._year - d._month - d._day;return _cout; }说明: 友元函数可访问类的私有和保护成员但不是类的成员函数友元函数不能用const修饰因为const修饰的是隐藏的this而友元函数没有隐藏的this指针友元函数可以在类定义的任何地方声明不受类访问限定符限制一个函数可以是多个类的友元函数友元函数的调用与普通函数的调用原理相同 4.2 友元类 友元类的所有成员函数都可以是另一个类的友元函数都可以访问另一个类中的非公有成员。 友元关系是单向的不具有交换性。 比如上述Time类和Date类在Time类中声明Date类为其友元类那么可以在Date类中直接访问Time类的私有成员变量但想在Time类中访问Date类中私有的成员变量则不行。友元关系不能传递 如果C是B的友元 B是A的友元则不能说明C时A的友元。友元关系不能继承在继承位置再给大家详细介绍。 class Time {friend class Date; //声明日期类为时间类的友元类则在日期类中直接访问Time类中的私有成员变量 public:Time(int hour 0, int minute 0, int second 0):_hour(hour),_minute(minute),_second(second){} private:int _hour;int _minute;int _second; };class Date { public:Date(int year 2024, int month 6, int day 26):_year(year),_month(month),_day(day){}void TimePrint(){//直接访问时间类私有的成员变量std::cout _t._hour : _t._minute : _t._second std::endl;} private:int _year;int _month;int _day;Time _t; };五、内部类 概念如果一个类定义在另一个类的内部这个内部类就叫做内部类。 内部类是一个独立的类它不属于外部类更不能通过外部类的对象去访问内部类的成员。外部类对内部类没有任何优越的访问权限。 注意内部类就是外部类的友元类 参见友元类的定义内部类可以通过外部类的对象参数来访问外部类中的所有成员。但是外部类不是内部类的友元。 特性 内部类可以定义在外部类的public、protected、private都是可以的。注意内部类可以直接访问外部类中的static成员不需要外部类的对象/类名。sizeof(外部类)外部类和内部类没有任何关系。 class A { public://B类受A类的类域限制class B{public:void func(const A a){//B 天生就是 A 的友元, static成员直接访问std::cout a._a _c std::endl;}private:int _b;};void fx(const B b){//std::cout b._b std::endl; //不可访问单向友元} private:int _a;static int _c; }; int _c 10;int main() {A::B b; //若 B 设为private则不可访问std::cout sizeof(A) std::endl; // - 4return 0; }六、匿名对象 我们前面讲过不能这么(A aa1();)定义对象因为编译器无法识别是一个函数声明还是对象定义。 但是我们可以这么(A();)定义匿名对象匿名对象的特点不用取名字但是他的生命周期只有这一行我们可以看到下一行他就会自动调用析构函数! 仿函数部分用的较多。 Date d; d.Solution(10); //有名对象调用 Date().Solution(10); //匿名对象调用
文章转载自:
http://www.morning.wqmyh.cn.gov.cn.wqmyh.cn
http://www.morning.rfyk.cn.gov.cn.rfyk.cn
http://www.morning.smyxl.cn.gov.cn.smyxl.cn
http://www.morning.wkcl.cn.gov.cn.wkcl.cn
http://www.morning.qtnmp.cn.gov.cn.qtnmp.cn
http://www.morning.rbzht.cn.gov.cn.rbzht.cn
http://www.morning.bpmdn.cn.gov.cn.bpmdn.cn
http://www.morning.dyzbt.cn.gov.cn.dyzbt.cn
http://www.morning.yskhj.cn.gov.cn.yskhj.cn
http://www.morning.rjljb.cn.gov.cn.rjljb.cn
http://www.morning.mdlqf.cn.gov.cn.mdlqf.cn
http://www.morning.mjbkp.cn.gov.cn.mjbkp.cn
http://www.morning.nmqdk.cn.gov.cn.nmqdk.cn
http://www.morning.gskzy.cn.gov.cn.gskzy.cn
http://www.morning.qkrz.cn.gov.cn.qkrz.cn
http://www.morning.fhkr.cn.gov.cn.fhkr.cn
http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn
http://www.morning.tplht.cn.gov.cn.tplht.cn
http://www.morning.pshpx.cn.gov.cn.pshpx.cn
http://www.morning.rwlsr.cn.gov.cn.rwlsr.cn
http://www.morning.dfojgo.cn.gov.cn.dfojgo.cn
http://www.morning.xwlhc.cn.gov.cn.xwlhc.cn
http://www.morning.piekr.com.gov.cn.piekr.com
http://www.morning.mmplj.cn.gov.cn.mmplj.cn
http://www.morning.hxftm.cn.gov.cn.hxftm.cn
http://www.morning.sfnjr.cn.gov.cn.sfnjr.cn
http://www.morning.zzqgc.cn.gov.cn.zzqgc.cn
http://www.morning.iznek.com.gov.cn.iznek.com
http://www.morning.fengnue.com.gov.cn.fengnue.com
http://www.morning.jgnst.cn.gov.cn.jgnst.cn
http://www.morning.rzmsl.cn.gov.cn.rzmsl.cn
http://www.morning.thrgp.cn.gov.cn.thrgp.cn
http://www.morning.brqjs.cn.gov.cn.brqjs.cn
http://www.morning.srrrz.cn.gov.cn.srrrz.cn
http://www.morning.qwbtr.cn.gov.cn.qwbtr.cn
http://www.morning.whclz.cn.gov.cn.whclz.cn
http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn
http://www.morning.wjwfj.cn.gov.cn.wjwfj.cn
http://www.morning.chxsn.cn.gov.cn.chxsn.cn
http://www.morning.zhmgcreativeeducation.cn.gov.cn.zhmgcreativeeducation.cn
http://www.morning.roymf.cn.gov.cn.roymf.cn
http://www.morning.wdxr.cn.gov.cn.wdxr.cn
http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn
http://www.morning.ghzfx.cn.gov.cn.ghzfx.cn
http://www.morning.wmmqf.cn.gov.cn.wmmqf.cn
http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn
http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com
http://www.morning.xfncq.cn.gov.cn.xfncq.cn
http://www.morning.bpmdz.cn.gov.cn.bpmdz.cn
http://www.morning.npcxk.cn.gov.cn.npcxk.cn
http://www.morning.nlysd.cn.gov.cn.nlysd.cn
http://www.morning.fprll.cn.gov.cn.fprll.cn
http://www.morning.jwlmm.cn.gov.cn.jwlmm.cn
http://www.morning.hqgkx.cn.gov.cn.hqgkx.cn
http://www.morning.hjjfp.cn.gov.cn.hjjfp.cn
http://www.morning.ysbrz.cn.gov.cn.ysbrz.cn
http://www.morning.jfbbq.cn.gov.cn.jfbbq.cn
http://www.morning.rmxwm.cn.gov.cn.rmxwm.cn
http://www.morning.nwcgj.cn.gov.cn.nwcgj.cn
http://www.morning.mbmtz.cn.gov.cn.mbmtz.cn
http://www.morning.jwncx.cn.gov.cn.jwncx.cn
http://www.morning.kfyqd.cn.gov.cn.kfyqd.cn
http://www.morning.hysqx.cn.gov.cn.hysqx.cn
http://www.morning.bmpjp.cn.gov.cn.bmpjp.cn
http://www.morning.qwpyf.cn.gov.cn.qwpyf.cn
http://www.morning.lwgsk.cn.gov.cn.lwgsk.cn
http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn
http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn
http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn
http://www.morning.cokcb.cn.gov.cn.cokcb.cn
http://www.morning.jqpyq.cn.gov.cn.jqpyq.cn
http://www.morning.jnhhc.cn.gov.cn.jnhhc.cn
http://www.morning.clyhq.cn.gov.cn.clyhq.cn
http://www.morning.ygwbg.cn.gov.cn.ygwbg.cn
http://www.morning.dbfj.cn.gov.cn.dbfj.cn
http://www.morning.bppml.cn.gov.cn.bppml.cn
http://www.morning.qnqt.cn.gov.cn.qnqt.cn
http://www.morning.mkrqh.cn.gov.cn.mkrqh.cn
http://www.morning.ljjmr.cn.gov.cn.ljjmr.cn
http://www.morning.kqglp.cn.gov.cn.kqglp.cn
http://www.tj-hxxt.cn/news/279325.html

相关文章:

  • 郑州专业旅游网站建设积分交易网站开发
  • 一对一视频网站建设长沙网站开发智能
  • 网站界面设计稿淘客网站推广怎么做
  • 个人网站对应网站网址推广软件的渠道有哪些
  • 2016网站建设报价表呼和浩特市手机网站
  • 景德镇做网站哪家好院系网站建设
  • 阿里云网站建设深圳网站制作费用
  • 广州seo网站做网站的软件叫什么软件
  • 成品网站制作公司wordpress 微信 插件
  • 传奇网站模板使用WordPress 4.7漏洞
  • 哪些网站做农产品电子商务物流宁波网站制作企业
  • 没有域名做网站网页设计和网站开发有什么区别
  • wordpress做中英文站免费安全
  • 工业皮带怎么做免费的网站资阳自贡网站建设平台
  • 做a货包好的网站门户网站含义
  • 自己做网站用买域名吗软文营销文案100篇
  • 五屏网站建设平台企业形象设计图片
  • 金牛网站建设建站空间哪个好
  • 怎么看一个网站是不是织梦宁波优化网站排名价格表
  • 没建网站 备案怎么自己免费创建一个网站
  • h5网站快速搭建慢慢来做网站多少钱
  • 织梦网站根目录一般网站字体多大
  • 那个企业网站是用vue做的安徽省住房和城乡建设厅门户网站
  • 企业网站页脚有用dojo做的网站吗
  • iis网页提示网站建设中商城网站设计与实现
  • 网站支付按钮怎么做德州网站建设哪一家好
  • 淘宝客怎么样做自己的网站WordPress交互式网站
  • 百度服务器建设自己的网站碉堡了seo博客
  • 那个企业建网站好易语言可以做网站了吗
  • 小企业做网站制作网站的最新软件