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

深圳网站建设外贸公司价格我做的网页怎么是危险网站

深圳网站建设外贸公司价格,我做的网页怎么是危险网站,做网上商城网站哪家好,做外贸登录国外网站欢迎来观看温柔了岁月.c的博客 目前 设有C学习专栏 C语言项目专栏 数据结构与算法专栏 目前主要更新C学习专栏#xff0c;C语言项目专栏不定时更新 待C专栏完毕#xff0c;会陆续更新C项目专栏和数据结构与算法专栏 一周主要三更#xff0c;星期三#xff0c;星期五#x… 欢迎来观看温柔了岁月.c的博客 目前 设有C学习专栏 C语言项目专栏 数据结构与算法专栏 目前主要更新C学习专栏C语言项目专栏不定时更新 待C专栏完毕会陆续更新C项目专栏和数据结构与算法专栏 一周主要三更星期三星期五星期天 感谢大家的支持 C构造和析构构造函数特点构造函数的创建和使用有参构造函数无参构造函数关于new的构造函数析构函数特点拷贝构造函数特点深拷贝和浅拷贝匿名对象析构与构造调用的顺序构造函数 特点 1.名字和类名相同 2.没有返回值 3.构造函数是用来构造对象构造对象时候必定调用构造函数 4.不写构造函数存在一个默认的构造函数默认的构造函数是无参的所以可以构造无参对象 5.默认的构造函数可以删掉通过delete可以删除默认的构造函数 6.显示使用默认的构造函数用defalt做显示调用 7.通常构造函数是public 8.如果自己写了构造函数系统的默认构造函数就会不存在 9.构造函数决定对象的长相构造函数有几个参数构造的对象就要有几个参数 10.构造函数通常做的事情就是给数据成员初始化。 11.构造函数也是函数可以进行重载也可以进行缺省。 12.通过缺省和重载可以创建各种彰显不同的对象 #includeiostream #includestringusing namespace std;class MM { public:MM() default; //显示使用默认构造函数MM() delete; //删除默认的构造函数private:int age;string name; }; int main() {system(pause);return 0; }注意:如果一个类中的默认构造函数被删除的话是不能够构造对象的。 构造函数的创建和使用 有参构造函数 #includeiostream #includestringusing namespace std;class MM { public:MM(int m_age, string m_name){age m_age;name m_name;}void printDate(){cout age \t name endl;}private:int age;string name; };int main() {MM mm(10, 温柔了岁月); //构造函数有2个参数所以这路必须也要有两个参数创建对象的过程就是调用构造函数过程mm.printDate();system(pause);return 0; }无参构造函数 #includeiostream #includestringusing namespace std;class MM { public:MM(); //无参构造函数 private:int age;string name; }; int main() {MM mm;system(pause);return 0; 关于new的构造函数 #includeiostream #includestringusing namespace std;class MM { public:MM(); //无参构造函数MM(int m_age, string m_name){age m_age;name m_name;}private:int age;string name; }; int main() {MM *p1 new MM; //无参构造函数MM* p2 new MM(18, 温柔了岁月); //有参的构造函数system(pause);return 0; }析构函数 特点 1.~类名当作析构函数的名称 2.没有参数 3.释放数据成员new的内存 在对象死亡前自动调用 4.如果数据成员没有做new的操作可以不写析构函数不写析构函数系统存在一个默认的析构函数 //析构函数 #includeiostream #includecstringusing namespace std;class MM { public:MM(const char * str){int length strlen(str) 1;name new char[length];strcpy(name, str);}~MM(){if (name ! nullptr){delete name;name nullptr;}cout 析构函数 endl;}private:char* name; }; int main() {MM* pmm new MM(温柔了岁月);delete pmm;pmm nullptr; //立刻调用析构函数system(pause);return 0; }拷贝构造函数 特点 1.拷贝构造函数也是构造函数 2.拷贝构造函数的参数是固定的对对象的引用 3.拷贝构造函数不写会存在一个默认的拷贝构造函数 4.拷贝构造函数的作用通过一个对象创造另一个对象。 #includeiostream #includestringusing namespace std;class MM { public:MM(int m_age){age m_age;}//拷贝构造函数通过传入对象属性确定创建对象属性MM(MM object){age object.age;}void printDate(){cout age endl;}private:int age; }; //函数传参也可以隐式调用 void print(MM object) {object.printDate(); }void Print(MM object) //引用只是取别名不调用拷贝构造函数效率较高 {object.printDate(); }int main() {MM mm(10);//产生对象MM pmm mm; //隐式构造MM pm(mm); //显式构造print(mm); //隐式调用拷贝构造函数system(pause);return 0; }深拷贝和浅拷贝 浅拷贝: 没有在拷贝构造函数中使用new 默认的拷贝构造函数都是浅拷贝 深拷贝 在拷贝构造函数中做了new的操作 内存释放问题 浅拷贝会导致同一段内存重复释放 //浅拷贝问题 #includeiostream #includecstringusing namespace std;class MM { public:MM(const char* m_name){name new char[strlen(m_name) 1];strcpy(name, m_name);}MM(MM object){name object.name;}~MM(){if (name ! nullptr){delete name;name nullptr;}}private:char* name; }; int main() {MM mm(温柔了岁月);MM pmm mm;return 0; }delete把相同的两端数据都删除了所以程序中断浅拷贝的问题要用深拷贝来解决。 解决方法 #includeiostream #includecstringusing namespace std;class MM { public:MM(const char* m_name){name new char[strlen(m_name) 1];strcpy(name, m_name);}MM(MM object){int length strlen(object.name) 1;name new char[length];strcpy(name, object.name);}~MM(){if (name ! nullptr){delete name;name nullptr;}}private:char* name; }; int main() {MM mm(温柔了岁月);MM pmm mm;return 0; }一旦类中有指针做了内存申请并且对对象做了拷贝操作就必须使用深拷贝 匿名对象 1.匿名对象就是无名对象匿名对象只能充当右值 2.如果做特殊处理会直接死掉要想对匿名对象赋初值必须存在移动构造拷贝或者有const存在的普通拷贝构造。 #includeiostreamusing namespace std;class MM { public:MM(int m_age){age m_age;}void printDate(){cout age endl;}MM(MM object){age object.age;cout 调用移动构造 age endl;}~MM(){cout 析构函数 endl;} private:int age; };int main() {MM(10); //匿名对象没有名字MM girl MM(10); //赋值对象, girl接管匿名对象的所有权girl.printDate();system(pasuse);return 0; }析构与构造调用的顺序 1 . 一般情况构造顺序和析构顺序是相反的 2.全局和静态变量最后释放的 3.delete会立刻调用析构函数
http://www.hkea.cn/news/14540859/

相关文章:

  • 网站优化方案 site ww广告设计图片 门头
  • 商城类网站建设需要多少钱电子商务公司怎么运营
  • 在建设银行网站上还贷中小型网站建设 教案
  • 昌平网站建设浩森宇特做网站用什么语言和工具
  • 网站建设考虑事项可以做交互的网站
  • 商派商城网站建设二次开发超级优化空间
  • 制作静态网站模板海南省住建设厅网站报监的工程
  • destoon做的网站网站开发 法律申明
  • 设计素材网站pui高级培训机构
  • 推荐6个国外自媒体平台seo信息是什么
  • 东莞网站建设_东莞网页设计优化大师使用心得
  • 做微网站的第三方登录贵港网站开发
  • 地方战友网站建设地方网站全网营销
  • 大连服装网站建设深圳微商城网站设计费用
  • 专门做美食的视频网站徐州建设工程公共资源交易平台
  • 高密微网站建设阳谷网站开发
  • 在淘宝上做的网站要转出利用大平台做网站
  • 网站建设搜索键如何设置链接百度度小店申请入口
  • 网站建设招标书模板温州建网站
  • 朝阳区手机网站设计服务织梦做网站好不好
  • asp做企业网站很好啊网站首页代码怎么写
  • asp网站文件protected wordpress login 插件
  • 网站安全优化我的网站怎么不能搜索
  • 泰州泛亚信息做网站怎么样wordpress中文图片不显示
  • 站长之家alexa排名怎么看什么什么设计英文网站
  • 网站开发员的工作内容wordpress与阿里服务器区分
  • 广州网站建设与实验重庆百度网络推广
  • 自助广告位网站源码wordpress粒子插件
  • 移动网站制作公司小程序制作一个需要多少钱?
  • 福州网站制作公司做宣传 为什么要做网站那