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

网站的内容做证据观点软件开发工程师简历模板

网站的内容做证据观点,软件开发工程师简历模板,做网站要交钱吗,物流公司做网站需求一.拷贝构造函数和拷贝赋值函数 1.1拷贝构造函数功能,格式 拷贝构造函数是一种特殊的构造函数,用来将一个类对象给另一个类对象初始化使用的。 1> 用一个类对象给另一个类对象初始化时,会自动调用拷贝构造函数。 2> 当一个类对作为函数的实参&…

一.拷贝构造函数和拷贝赋值函数

1.1拷贝构造函数功能,格式

拷贝构造函数是一种特殊的构造函数,用来将一个类对象给另一个类对象初始化使用的。

1> 用一个类对象给另一个类对象初始化时,会自动调用拷贝构造函数。

2> 当一个类对作为函数的实参,传递给形参的过程时,会自动调用拷贝构造函数。

3> 当一个函数返回一个类对象时,会自动调用拷贝构造函数。

类名(const 类名 &other)
{函数体内容;
}

1.2浅拷贝和深拷贝(重点)

1> 系统会提供一个默认的拷贝构造函数,如果程序员手动定义,则系统取消默认提供。

2> 系统提供的拷贝构造函数,是将一个类对象给另一个类对象初始化使用的,换句话说,就是将一个类对象的所有数据成员赋值给另一个类对象的所有数据成员。

3> 浅拷贝:系统提供的拷贝构造函数。

4> 如果类中没有指针成员,则调用系统提供的拷贝构造函数,没有问题。如果类中有指针成员,依然调用系统提供的拷贝构造函数,则会造成double free现象。

1.3拷贝构造赋值功能,格式

用一个类对象给另一个类对象进行赋值操作,会自动调用拷贝赋值函数

类名 &operator=(const 类名 &other)
{函数体内容;
}

用一个类对象给另一个类对象进行赋值操作,会自动调用拷贝赋值函数。

二.友元函数

2.1 作用和种类

作用:可以让一些函数或者类去访问另一类的私有数据成员。

种类:

1> 全局函数做友元

2> 类做友元

3> 成员函数做友元

2.2全局函数做友元

让一个全局函数访问一个类的私有数据成员。

#include <iostream>using namespace std;//封装一个房间类
class Room
{friend void goodGay(Room &r); //声明该函数是本类的好朋友,可以访问本类的私有数据成员
private:string bed_room; //卧室
public:string sitting_room; //客厅public://无参构造函数Room(){bed_room = "卧室";sitting_room = "客厅";}};//全局函数
void goodGay(Room &r)
{cout << "好基友正在访问。。" << r.sitting_room << endl;cout << "好基友正在访问。。" << r.bed_room << endl;
}int main()
{Room r;goodGay(r);return 0;
}

2.3类做友元

让一个类去访问另一个类的私有数据成员。

#include <iostream>using namespace std;//声明有这样的类
class Room;//封装好盆友的类
class GoodGay
{
private:Room *r;
public:GoodGay();void visit();
};class Room
{friend class GoodGay; //声明该类是本类的好朋友,可以访问本类的私有数据成员
private:string bed_room;
public:string sitting_room;Room(){bed_room = "卧室";sitting_room = "客厅";}
};GoodGay::GoodGay()
{r = new Room;
}
void GoodGay::visit()
{cout << "好基友的类 正在访问。。" << r->sitting_room << endl;cout << "好基友的类 正在访问。。" << r->bed_room << endl;
}int main()
{GoodGay g;g.visit();return 0;
}

2.4成员函数做友元(了解)

让一个类中的成员函数去访问另一个类的私有数据成员。

小结

1> 不要过度的使用友元,会降低或者破坏封装性。

2> 友元不具有交换性、传递性、继承性

三.常成员函数和常对象

类中的成员函数都能对数据成员做修改操作,如果设计一个函数不能对数据成员做修改,则需要用常成员函数来完成。

3.1常成员函数

常成员函数不能修改数据成员。

返回值类 函数名(形参列表)const
{函数体内容;
}

3.2常对象

常对象的数据成员不能被改变。

格式: const 类名 对象名;

1】非常对象,既可以调用非常成员函数 ,也可以调用常成员函数,优先调用非常成员函数。

2】常对象只能调用常成员函数,不能调用非常成员函数。

#include <iostream>using namespace std;class Stu
{
private:string name;int age;
public:Stu(){}Stu(string name, int age):name(name),age(age){}void show() const //常成员函数   this指针原型:Stu const * const this;{//this->age = 48;//this = nullptr;//name = "lisi";//不能对数据成员修改cout << name << "  " << age << endl;}void show() //非 常成员函数     this原型: Stu *const this;{//this->age = 48;//this = nullptr;cout << name << "  " << age << endl;}};int main()
{//Stu s1("zhangsan", 18); //非常对象const Stu s1("zhangsan", 18); //常对象s1.show();return 0;
}

3.3mutable关键字

mutable修饰的数据成员,表示该数据成员可以在常成员函数中被修改。

四.思维导图

http://www.yayakq.cn/news/927322/

相关文章:

  • 做网站都要会些什么如何构建wordpress
  • 怎么做网站快照wordpress jsp版
  • 优惠券网站建设制作国外ip
  • 近期国内新闻摘抄做神马网站优化快速排
  • 注册建设通网站企业管理顾问咨询
  • 后缀的域名暂无法进行网站备案天元建设集团有限公司刘士龙
  • 十堰网站推广承接网站开发
  • 网站建设亇金手指专业wordpress改页面
  • 响应式网站空间服务器要求定制网站建设公司排行
  • 做一些网站犯法么树状结构的网站
  • 网站开发找工作免费设计素材库
  • 网站开发中需要解决的技术问题网站建设项目实训心得
  • 海外购物网站哪个最好网站建设心得体会800字
  • 搜索网站有哪些互联网软件开发工程师
  • 长春火车站和高铁站是一个站吗html代码软件
  • 内丘附近网站建设价格包头网站建设
  • 上海自助建站工具装修公司全包项目
  • 怎么用域名做网站宝山湖网站建设
  • 手机网站总是自动跳转name域名注册
  • 云南做公司网站多少钱wordpress推广
  • 网站内链优化的角度网站推广营销方法
  • 新网站建设脑图郑州网络科技公司有哪些
  • 网站后台内容编辑器下载学院网页设计模板html代码
  • 免费网站安全wordpress 分享 点赞
  • 启东网站建设公司代理网络是什么意思
  • 西安网站建设平台北京网站开发需要多少钱
  • 类似情侣空间的网站开发淘宝网站怎样做
  • 钱宝网站怎么做任务做网站较好的框架
  • 深圳网站建设策划广东省城乡与住房建设厅网站
  • 怎么做好一个网站网络品牌推广费用