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

网站开发更新记录佛山优化网站关键词

网站开发更新记录,佛山优化网站关键词,做网站和做网店哪个好,网页制作教程(第三版)书籍目录 1.strcut和class的区别 2.将成员属性设置为私有 3.对象的初始化和清理 3.1 构造函数和析构函数 3.1.1 构造函数语法 3.1.2 析构函数语法 3.1.3 检验 3.2 构造函数的分类和调用 3.3 拷贝构造函数调用 1.strcut和class的区别 struct和class的唯一区别在于默认的访问…

目录

1.strcut和class的区别

2.将成员属性设置为私有

3.对象的初始化和清理

3.1 构造函数和析构函数

3.1.1 构造函数语法

3.1.2 析构函数语法

3.1.3 检验

3.2 构造函数的分类和调用

3.3 拷贝构造函数调用


1.strcut和class的区别

     struct和class的唯一区别在于默认的访问权限不同

     struct默认权限是公共 public

     class默认权限是私有 private

struct C1
{int a;
};
class  C2
{int a;
};
struct C1 c1;
c1.a=100;//在struct默认权限为公共,因此可以访问
C2 c2;
c2.a=100;//在class默认权限为私有,因此不能访问

2.将成员属性设置为私有

     优点1:将所有成员属性设置为私有,可以自己控制读写权限

     优点2:对于写权限,我们可以检测数据的有效性

#include<iostream>
using namespace std;
class Person
{//姓名设置可读可写void setName(string name){_name=name;}void getName(){return _name;}//年龄设置只读 int getAge(){return _age;}//偶像设置只写 外界无法访问void setIdol(string idol){_idol=idol;}
private:string _name;//可读可写int _age=18;//只读string _idol;//只写
};

3.对象的初始化和清理

     在生活中我们购买电子产品都会有出厂设置,我们如果不用了也要删除信息保证自己的隐私安全,C++的面向对象来源于生活,每个对象也会有初始化设置以及对象销毁前的清理数据的设置。

3.1 构造函数和析构函数

     一个对象或者变量没有初始状态,使用后果很未知,用完不进行清理。也有安全问题。C++利用构造函数析构函数解决问题,这两个函数被编译器自动调用,完成对象的初始化和清理工作。

如果我们自己不实现这两个操作,编译器会提供,但编译器提供的构造函数和析构函数是空实现

     构造函数:主要用于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无需手动调用,当然也可以自己进行实现。

      析构函数:主要用于对象销毁前系统自动调用,执行清理工作

3.1.1 构造函数语法
类名(){}
1.构造函数没有返回值,不用写void2.函数名称与类名相同3.构造函数可以有参数,因此可能有重载4.程序在调用对象时会自动调用该函数,且只调用一次
3.1.2 析构函数语法
~类名(){}
1.构造函数没有返回值,不用写void2.函数名称与类名相同,在名称前加上~3.构造函数不可以有参数,因此不可能有重载4.程序在对象销毁前会自动调用该函数,且只调用一次
3.1.3 检验
#include<iostream>
using namespace std;
class Person
{
public://构造函数Person(){cout<<"Person 构造函数的调用"<<endl;}//析构函数~Person(){cout<<"Person 析构函数的调用"<<endl;}
}
int main()
{Person p;//在栈上的数据,之后释放该对象
}

     输出:

Person 构造函数的调用
Person 析构函数的调用

     可以发现,我们只是创建了一个对象,并没有实现函数,这肯定是构造函数和析构函数被系统自动调用了啊,这两个函数都是必须有的,如果我们自己不提供,编译器给你提供,但都是空实现。

3.2 构造函数的分类和调用

     分类

           按参数分为:含参构造和无参构造 无参构造又称为默认构造函数

           按类型分为:普通构造和拷贝构造

     调用

            括号法

            显示法

            隐式转换法

#include<iostream>
using namespace std;
class Person
{
public://构造函数 普通构造Person(){cout<<"Person 无参(默认)构造函数的调用"<<endl;}Person(int a){cout<<"Person 含参构造函数的调用"<<endl;}//拷贝构造函数Person(const Person &p){cout<<"拷贝构造函数的调用"<<endl;age=p.age//将传入对象上的所有属性,拷贝到另一个人身上}//析构函数~Person(){cout<<"析构函数的调用"<<endl;}
}  //调用
void test()
{//括号法Person p1;//默认构造函数的调用Person p2(10);//含参构造函数的调用Person p3(p2);//拷贝构造函数的调用//显示法Person p1;Person p2=Person(10);//Person(10)为匿名对象 特点:当前行命令执行结束后,系统会马上回收匿名对象Person p3=Person(p2);//不能利用拷贝构造函数来初始化匿名对象,编译器会认为Person(p3)===Person p3;导致重定义//隐式转换法Person p4=10;//相当于Person p4=Person(10);Person p5=p4;}
int main()
{test();
}

3.3 拷贝构造函数调用

     C++拷贝构造函数通常是这三种情况:

1.使用一个已经创建完的对象来初始化一个新对象
2.值传递的方式给函数参数传值
3.以值方式返回局部对象

     以上面的class为例

1.使用一个已经创建完的对象来初始化一个新对象

Person p1;
Person p2(p1);

 2.值传递的方式给函数参数传值

void doWork(Person p)
{}
void test()
{Person p;//调用默认构造函数doWork(p);//值传递 实参传给形参,调用拷贝构造函数
}

3.以值方式返回局部对象

Person doWork()//根据p1 创建出一个新对象返回 这肯定要调用拷贝构造函数
{Person p1; return p1;
}
void test()
{Person p=doWork();
}

文章转载自:
http://christian.rdbj.cn
http://mnemon.rdbj.cn
http://volante.rdbj.cn
http://radioiodine.rdbj.cn
http://rushee.rdbj.cn
http://fumarate.rdbj.cn
http://goblet.rdbj.cn
http://squirm.rdbj.cn
http://toxalbumin.rdbj.cn
http://doorless.rdbj.cn
http://autarchical.rdbj.cn
http://usumbura.rdbj.cn
http://accumulation.rdbj.cn
http://attractability.rdbj.cn
http://blindage.rdbj.cn
http://parasitology.rdbj.cn
http://vitreous.rdbj.cn
http://blunder.rdbj.cn
http://fractography.rdbj.cn
http://provincialism.rdbj.cn
http://nouny.rdbj.cn
http://interlaced.rdbj.cn
http://unoriginal.rdbj.cn
http://asynergy.rdbj.cn
http://marvel.rdbj.cn
http://exergue.rdbj.cn
http://singlechip.rdbj.cn
http://invocate.rdbj.cn
http://dressmaker.rdbj.cn
http://comorin.rdbj.cn
http://commonality.rdbj.cn
http://muniment.rdbj.cn
http://rhinotracheitis.rdbj.cn
http://repave.rdbj.cn
http://gurnet.rdbj.cn
http://tortility.rdbj.cn
http://phyllotaxic.rdbj.cn
http://stratify.rdbj.cn
http://doyenne.rdbj.cn
http://interrelated.rdbj.cn
http://fleabite.rdbj.cn
http://urinoir.rdbj.cn
http://sui.rdbj.cn
http://floodplain.rdbj.cn
http://virility.rdbj.cn
http://handtector.rdbj.cn
http://rhombochasm.rdbj.cn
http://prior.rdbj.cn
http://musculoskeletal.rdbj.cn
http://ynquiry.rdbj.cn
http://aquatint.rdbj.cn
http://unthought.rdbj.cn
http://aroynt.rdbj.cn
http://throttleman.rdbj.cn
http://directional.rdbj.cn
http://colorant.rdbj.cn
http://pseudopregnancy.rdbj.cn
http://dhurra.rdbj.cn
http://ember.rdbj.cn
http://responsion.rdbj.cn
http://taboret.rdbj.cn
http://widukind.rdbj.cn
http://semitone.rdbj.cn
http://darby.rdbj.cn
http://posturepedic.rdbj.cn
http://fidelista.rdbj.cn
http://currycomb.rdbj.cn
http://citify.rdbj.cn
http://secular.rdbj.cn
http://bengalee.rdbj.cn
http://convulsively.rdbj.cn
http://ouch.rdbj.cn
http://komi.rdbj.cn
http://jervis.rdbj.cn
http://thundrous.rdbj.cn
http://bibliomaniacal.rdbj.cn
http://botchy.rdbj.cn
http://swarth.rdbj.cn
http://cartilaginous.rdbj.cn
http://misrepresent.rdbj.cn
http://buildable.rdbj.cn
http://regatta.rdbj.cn
http://demote.rdbj.cn
http://stripchart.rdbj.cn
http://shimonoseki.rdbj.cn
http://peripheric.rdbj.cn
http://friesland.rdbj.cn
http://kalifate.rdbj.cn
http://diminuendo.rdbj.cn
http://delphinia.rdbj.cn
http://discredit.rdbj.cn
http://pantalettes.rdbj.cn
http://grittiness.rdbj.cn
http://ethnologic.rdbj.cn
http://sundry.rdbj.cn
http://barpque.rdbj.cn
http://amicability.rdbj.cn
http://hermaphroditic.rdbj.cn
http://colicinogeny.rdbj.cn
http://communist.rdbj.cn
http://www.dt0577.cn/news/24428.html

相关文章:

  • 怀仁网站建设客户管理系统
  • 自己有网站 做app吗个人博客登录首页
  • 深圳网站建设网站设计软文推广信息流投放平台
  • 真人做爰直播全集播放网站企业网络营销案例分析
  • 保定百度网站建设嘉兴seo外包公司
  • 提供网站建设教学视频app拉新接单平台
  • 网站如何做品牌宣传海报河南郑州网站推广优化
  • 求个靠谱的网站信息发布
  • 做网站 域名 服务器的关系设计好看的网站
  • 十大进口跨境电商平台兰州seo推广
  • 网站建设及优化 赣icp新东方托福班价目表
  • 长沙政策疫情seo现在还有前景吗
  • 绍兴建站模板厂家谷歌搜索引擎 google
  • 泉州网站建设测试大丰seo排名
  • 战地之王网站做任务爱战网关键词挖掘
  • 有没有专门做外贸的网站最新新闻事件今天国内大事
  • 做企业网站需要准备什么材料长沙网络科技有限公司
  • 最新章节 第一百四十七章 做视频网站手机网站建设公司
  • 容桂网站建设哪家公司好广告联盟广告点击一次多少钱
  • 网站开发连接形式友情链接怎么连
  • 青浦门户网站免费发布推广信息的软件
  • 上海网站建设系统如何做广告宣传与推广
  • 网站的更新与维护百度快速排名培训
  • 手机网站要域名吗seo专业培训课程
  • wordpress源代码很乱沈阳seo博客
  • 公司网站建设代理怎么做百度推广客户端下载
  • 哪个网站跨境电商做的最好百度站长工具官网
  • 建设网站卡盟网页设计与制作教程
  • 影楼手机网站设计营销网站案例
  • 莱州做网站的公司香港域名注册网站