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

天津西青网站建设公司国外做详情页网站

天津西青网站建设公司,国外做详情页网站,c语言入门自学,wordpress 生成 html2.2 构造与析构2.2.1 构造函数2.2.2 缺省构造函数2.2.3 构造函数的重载2.2.4 类型转换构造函数2.2.5 拷贝构造函数 2.2 构造与析构 2.2.1 构造函数 构造函数(constructor)是与类同名的特殊成员函数#xff0c;主要用来初始化对象的数据成员。 像上一个例子#xff0c;初始… 2.2 构造与析构2.2.1 构造函数2.2.2 缺省构造函数2.2.3 构造函数的重载2.2.4 类型转换构造函数2.2.5 拷贝构造函数 2.2 构造与析构 2.2.1 构造函数 构造函数(constructor)是与类同名的特殊成员函数主要用来初始化对象的数据成员。 像上一个例子初始化的类成员的时候就有点麻烦。 class X{...X (...) {//构造函数...} }构造函数的特点 与类同名没有返回类型可以被重载由系统自动调用不允许在程序中显示调用 #include iostream using namespace std;class Student{ private:string m_name;int m_age;int m_no; public:Student(const string name, int age, int no) {m_name name;m_age age;m_no no;}/*类内声明*/void set_name(const string name);void set_age(int age);void set_no(int no);void eat(const string food);void who(); };/*类外定义*/ void Student::set_name(const string name){m_name name;} void Student::set_age(int age) {m_age age;} void Student::set_no(int no){m_no no;} void Student::eat(const string food){cout 我今天吃了 food endl;} void Student::who() {cout 我叫: m_name 今年: m_age 学号: m_no endl;}int main(void) {Student s1(王钢蛋, 18, 2203);s1.who();s1.eat(烙饼);return 0; }2.2.2 缺省构造函数 缺省构造函数也称无参构造函数但其未必真的没有任何参数为一个有参构造函数的每个参数都提供一个缺省值同样可以达到无参构造函数的效果 注意 如果一个类没有定义任何构造函数那么编译器会为其提供一个缺省构造函数 对基本类型的成员变量不做初始化对类类型的成员变量成员子对象将自动调用相应类的无参构造函数来初始化 #include iostream using namespace std;class A{public:int m_i;A(void){cout A 的无参构造 endl;m_i 123;} };class B{ public:int m_j; //基本类型成员变量A m_a; //类类型成员变量成员子对象 }; 1 int main() {B b; //调用成员对象m_a的无参构造函数 调用B的缺省构造函数cout b.m_j endl; //未知cout b.m_a.m_i endl; //123return 0; }如果一个类定义了构造函数无论是否有参数那么编译器都不会再提供缺省构造函数 2.2.3 构造函数的重载 #include iostream using namespace std;struct param{int l, w, h, ww; };class Desk{ public:int length, width, height, weight;Desk(int l, int w, int h, int ww) {cout Desk(int,int,int,int) endl;}Desk(void) {cout Desk(void) endl;}Desk(param p){cout Desk(param ) endl;} };int main(void) {Desk d1(1,2,3,4);Desk d2;param pm;pm.l 1;pm.w 2;pm.h 3;pm.ww 4;Desk d3(pm);return 0; }某些重载的构造函数具有特殊的含义 缺省构造函数按缺省方式构造类型转换构造函数从不同类型的对象构造拷贝构造函数从相同类型的对象构造 2.2.4 类型转换构造函数 将其他类型转换为当前类类型需要借助转换构造函数Conversion constructor转换构造函数只有一个参数。 #include iostream #include cstring using namespace std;class Integer {private:int m_i; public:Integer(void){cout Integer(void) endl;m_i 3;}explicit Integer(int n) {cout Integer(int) endl;m_i n;}explicit Integer(const char *str){cout Integer(const string ) endl;m_i strlen(str);}void print(){cout m_i endl;} };int main(void) {Integer i;i.print();//Integer j 5; //编译器会找参数为int类型的构造函数Integer j Integer(5); //编译器会找参数为int类型的构造函数j.print();//Integer k hello;Integer k Integer(hello);// 这样会更清晰调用的是那个构造函数k.print();return 0; }explicit关键字就是告诉编译器需要类型转换时强制要求写程如下形式 Integer j Integer(5); //Integer j 5; //error2.2.5 拷贝构造函数 用一个已定义的对象构造同类型的副本对象将调用该类的拷贝构造函数 class A{A(const A that){ //拷贝构造函数 注意参数必须是常引用...} };A a; A b(a);//调用拷贝构造 A c a;//调用拷贝构造案例 #include iostream using namespace std;class Data{ public:int m_data;Data(int data 3){cout Data(int) endl;m_data data;}Data(const Data that){ //拷贝构造函数cout Data(const A) endl;m_data that.m_data;} };int main(void){Data A1;Data A2(A1); //编译器会调用拷贝构造函数Data A3 A1;return 0; }如果一个类没有显示定义拷贝构造函数那么编译器会为其提供一个缺省拷贝构造函数 对基本类型成员变量按字节复制对类类型成员变量成员子对象调用相应类的拷贝构造函数 class User {string m_name; //调用string类的拷贝构造函数int m_age; //按字节复制 };案例 #include iostream using namespace std;class A{ public:int m_a;A(int m_a 0) { //缺省构造函数cout A(int) endl;}A(const A that){ //拷贝构造函数cout A(const A) endl;} };class B{ public:A m_b; };int main(void) {B b1; //调用A类中的缺省构造函数B b2 b1; //默认调用A类中的拷贝构造函数return 0; }注意事项 拷贝函数的调用时机 用已定义对象作为同类型对象的构造实参以对象的形式向函数传递参数从函数中返回对象 拷贝构造过程风险高而且效率低设计时应尽可能避免 避免或减少对象的拷贝传递对象形式的参数时使用引用型参数从函数中返回对象使用引用函数返回值
http://www.sadfv.cn/news/164990/

相关文章:

  • 网站3网合一是怎么做的wordpress 主题哪个好
  • 沈阳市城市建设学院官方网站免费咨询妇科在线医生
  • 做效果图网站百度自媒体怎么注册
  • 唐山网站建设七彩科技wordpress 内容 只调图片大小
  • 最新网站建设网站建网站建设网站站网站
  • 网站音乐播放器插件只做公司网站方案
  • 做网站赚取广告费asp网站安装到空间
  • 网站模板为什么不好南京电商网站开发
  • 广州外贸型网站网络运营者不是指
  • 销售平台网站建设宁波seo首页优化平台
  • 做公众号封面的网站群辉 wordpress 外网
  • 云阳一平米网站建设企业为什么要建设自己的网站
  • jquery特效的网站科技岛
  • 山西云起时网站建设长沙网络营销公司哪家好
  • 茶叶电子商务网站建设的结论手机可播放的网站
  • 做网站都需要什么技术网站设计作业平台
  • 论坛网站推广方案网页设计怎么写
  • 玫瑰在线 网站建设内容桂林八里街论坛
  • 房地产网站的设计要求迁西住房和建设管理局网站
  • 高端网站开发价格wordpress单本小说主题
  • co域名网站照明做外贸的有那些网站
  • wordpress知名网站进贤南昌网站建设公司
  • 如何用vs做网站百度的合作网站有哪些
  • 大良营销网站建设流程张家界做网站公司
  • 农业 网站源码把自己的电脑做网站服务器
  • 免费推广网站在线店铺设计软件手机版
  • 米拓建设网站蚌埠网站建设
  • 班级网站模板html百度移动端排名软件
  • 昌邑市建设局官方网站搭建公司网站费用
  • 网站备案取消 后果桂林象鼻山的由来