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

创同盟做网站5分钟宣传片多少钱

创同盟做网站,5分钟宣传片多少钱,兰州网站seo服务,苍南住房和城乡规划建设局网站一 类的6个默认成员函数#xff1a; 如果一个类中什么成员都没有#xff0c;简称为空类。 例#xff1a; #include iostream class Empty {// 空类#xff0c;什么成员都没有 }; 空类中真的什么都没有吗#xff1f;并不是#xff0c;任何类在什么都不写时 如果一个类中什么成员都没有简称为空类。 例 #include iostream class Empty {// 空类什么成员都没有 }; 空类中真的什么都没有吗并不是任何类在什么都不写时编译器会自动生成以下6个默认成员 函数。 默认构造函数如果用户没有定义任何构造函数编译器会自动生成一个默认构造函数。 拷贝构造函数用于创建一个对象是另一个对象的副本。如果用户没有定义编译器会生成一个默认的拷贝构造函数。 拷贝赋值运算符用于将一个对象赋值给另一个对象。如果用户没有定义编译器会生成一个默认的拷贝赋值运算符。 移动构造函数用于将资源从一个对象移动到另一个对象。如果用户没有定义编译器会生成一个默认的移动构造函数。 移动赋值运算符用于将资源从一个对象移动并赋值给另一个对象。如果用户没有定义编译器会生成一个默认的移动赋值运算符。 析构函数用于销毁对象并释放资源。如果用户没有定义编译器会生成一个默认的析构函数。 默认成员函数用户没有显式实现编译器会生成的成员函数称为默认成员函数。 二 构造函数 2.1构造函数的概念 构造函数是一个特殊的成员函数它的名称与类名相同没有返回值。在创建类的对象时构造函数由编译器自动调用用于初始化对象的数据成员。 2.2构造函数的特征 函数名与类名相同。 没有返回值。 在对象实例化时由编译器自动调用。 构造函数可以重载即一个类可以有多个构造函数只要它们的参数列表不同。 2.3无参/有参构造函数代码示例 class Date { public://有参数的构造函数//Date(int _year 1999 , int _month 2 , int _day 26)// 无参构造函数Date() //函数名与类名相同。{// 使用 this 指针访问成员变量this-_year 2024;this-_month 7;this-_day 6;}void Print(){std::cout this-_year - this-_month - this-_day std::endl;}private:int _year;int _month;int _day; };int main() {Date d1; //调用无参数构造函数 d1.Print();//Date d2(2022, 7, 6); //调用带参构造函数//d2.Print();return 0; } Date()是无参的构造函数没有参数。在对象 d1 创建时自动调用。你们有可能会问了为什么在无参的构造函数里面this指针指向成员变量那为什么main函数里见不到this指针呢因为当 Date d1; 创建对象时编译器会自动传递 d1 的地址给 this 指针所以就不需要显示this指针。 如果类中没有显式定义构造函数编译器会自动生成一个无参的默认构造函数。一旦用户显式定义了任何构造函数编译器将不再生成无参的默认构造函数。 2.4默认构造函数代码示例 class Date { public:void Print() {std::cout _year - _month - _day std::endl;}private:int _year;int _month;int _day; };int main() {Date d1;d1.Print();return 0; } 输出 上面代码因我未显示定义构造函数所以编译器帮我生成了一个默认的构造函数而且是看不见的那为什么默认生成的输出的值是随机值呢 原来C把类型分为内置类型和自定义类型内置类型就是语言提供的基本数据类型如int、char等。自定义类型是用户定义的类型如使用class、struct、union定义的类型。 2.5内置类型和自定义类型的默认构造函数处理 内置类型 1.内置类型的成员变量在默认构造函数中不会被自动初始化 2.如果不显式初始化成员变量的值将是未定义的即随机值 自定义类型 1.自定义类型的成员变量在默认构造函数中会调用其默认构造函数。 这意味着即使你没有显式定义自定义类型的构造函数编译器也会自动调用默认构造函数来       初始化这些成员变量。 例子 class Time { public:Time() {// Time类的无参构造函数std::cout Time() std::endl;_hour 0;_minute 0;_second 0;}private:int _hour;int _minute;int _second; };class Date { public:Date()// 初始化内置类型成员变量{this-_year 2024;this-_month 7;this-_day 5;}void Print(){std::cout _year - _month - _day std::endl;}private:int _year; // 内置类型int _month; // 内置类型int _day; // 内置类型Time _t; // 自定义类型 };int main() {Date d; // 调用无参构造函数d.Print();return 0; }输出 我们来说一下它的执行顺序首先是执行主函数main当执行到 Date d; 时编译器就会先去调用自定义函数Time_t;然后等它全部初始化完成 再去调用无参数构造并且初始化里面的内置类型。 那我们这是显式定义自定义类型的构造函数并且给成员变量赋值了所以就不会出现随机值如果想要显式定义自定义类型的构造函数并且不想要随机值那该怎么办呢这时候C11 中针对内置类型成员不初始化的缺陷又打了补丁即内置类型成员变量在类中声明时可以给默认值。 例子 class Date { public:void Print(){std::cout _year - _month - _day std::endl;}private:int _year 2024; // 内置类型int _month 2; // 内置类型int _day 1; // 内置类型 }; 输出 2.6默认构造函数 在C中默认构造函数是指在创建对象时不需要提供任何参数的构造函数。默认构造函数可以分为两种 默认构造函数一个类只能有一个真正的默认构造函数不需要参数。无参构造函数和全缺省参数构造函数 如果参数不同它们会重载编译器不会报错。如果参数相同即都没有参数它们就相当于有两个默认构造函数这时编译器会报错因为无法区分调用哪个构造函数。 关键点 无参构造函数没有参数的构造函数。 全缺省参数构造函数所有参数都有默认值的构造函数。 重载当构造函数的参数列表不同它们可以共存且不会冲突。 例子 class Date { public:// 无参构造函数Date() {_year 2024;_month 7;_day 2;}// 全缺省参数构造函数Date(int year 2023, int month 1, int day 1) {_year year;_month month;_day day;}void Print(){std::cout _year - _month - _day std::endl;}private:int _year;int _month;int _day; };int main() {Date d; // 调用无参构造函数d.Print();Date d2(2023, 4, 3); // 调用全缺省参数构造函数d2.Print(); return 0; }输出 之所以会报错是因为全缺省参数构造函数和无参数构造函数它们都有自己的默认值当执行到Date d; 时它并不知道到底要调用哪一个所以就会报错那怎么更改呢只需要把全缺省参数的默认值给去掉就行了这样编译器就不会迷糊到底要调用哪一个了
http://www.dnsts.com.cn/news/138145.html

相关文章:

  • 建筑网站主页百度开户流程
  • 成都网站制作价格淮南查查论坛
  • 建网站找我手机端的网站怎么做
  • asp sql做学生信息网站全国封城名单
  • 名字找备案网站软件网站开发实训报告
  • 营销型网站设计官网wordpress可视化编辑失效
  • 公司网站域名申请网上有哪些购物平台
  • 手机网站需要什么西安网页设计工资
  • 奢侈品网站策划方案投票网站定制
  • 营口网站建设单位可以分为()
  • 国内做的好看的网站设计wordpress倒闭汉化组
  • 个人博客网站页面网站按城市做分站
  • 购卡链接网站怎么做网站建设项目进展情况汇报
  • 网站制作外包公司网站建设 补充协议
  • 做淘宝客没网站如何做一个好的网站
  • 网站关键词挖掘wordpress 执行php
  • app手机网站枸杞网站建设方案
  • iis网站伪静态个人无网站怎样做cps广告
  • 句容网站设计公司网站建设公司不能备案吗
  • 网赌网站怎么做的济宁市城市建设投资中心网站
  • 凡科做公司网站怎么收费wordpress字体目录下
  • c语言网站开发个人网站制作论文
  • 北京西站附近的景点有哪些企业网站建设项目实践报告
  • 专业网站建设模块维护怎么利用网站做cpa推广
  • 做类似淘宝网站怎么做的国外网站打开很慢
  • 平板微信hd版.net 网站优化
  • 绵阳做网站多少钱陵水网站建设咨询
  • 郑州网站技术顾问网件路由器怎么恢复出厂设置
  • 昆明网站推广排名湘潭seo优化首选
  • 企业网站首页设计评价广州安全教育平台官网