如何创建适用于导航类网站的网页设计模板并下载相关图片?
摘要:导航类网站怎么做,网页设计模板图片下载,网站域名分几种,汽车网址排行榜前言 本章我们接替前一章继续深入理解类的默认成员函数,赋值重载,取地址重载,及c
导航类网站怎么做,网页设计模板图片下载,网站域名分几种,汽车网址排行榜前言 本章我们接替前一章继续深入理解类的默认成员函数#xff0c;赋值重载#xff0c;取地址重载#xff0c;及const取地址操作符重载 但是在讲剩下的三个默认成员函数之前#xff0c;我们要先来了解运算符重载#xff0c;因为赋值重载#xff0c;取地址重载#xff0c…前言 本章我们接替前一章继续深入理解类的默认成员函数赋值重载取地址重载及const取地址操作符重载 但是在讲剩下的三个默认成员函数之前我们要先来了解运算符重载因为赋值重载取地址重载及const取地址操作符重载其实是属于运算符重载的一部分。 类与对象三一、运算符重载1、运算符重载的概念2、运算符重载的注意事项二、运算符重载的特例1、前置和后置类型2、流插入 流提取运算符四、赋值运算符重载默认成员函数1、引入2、特性1. 用户没有显式实现时编译器会生成一个默认赋值运算符重载以值的方式逐字节拷贝。2. 赋值运算符重载格式3. 赋值运算符只能重载成类的成员函数不能重载成全局函数4. 如果类中未涉及到资源管理赋值运算符是否实现都可以一旦涉及到资源管理则必须要实现。五、取地址及const取地址操作符重载1、取地址操作符重载默认成员函数取地址重载的手动实现2、const取地址操作符重载默认成员函数const取地址重载手动实现一、运算符重载
1、运算符重载的概念
对于C的内置类型我们有许多运算符可以使用但是这些运算符却无法对自定义类型进行使用我们只能写一个与运算符功能类似的函数让自定义类型去调用。 例如
#includeiostream
using namespace std;
class Date
{
public:Date(int year 1, int month 1, int day 1){_year year;_month month;_day day;}//给一个给日期加num天不修改原始值Date Add(int num){//......}//给一个日期加num天并修改原始值Date AddEqual(int num){//.....}
private:int _year;int _month;int _day;
};
int main()
{int a 10;a 10;a 10;Date d1;d1.Add(10);//d110; //想写成这样这样更直观方便可是编译器不允许啊啊啊d1.AddEqual(10);//d110; //想写成这样这样更直观方便可是编译器不允许啊啊啊return 0;
}C为了增强代码的可读性引入了运算符重载运算符重载是具有特殊函数名的函数也具有其返回值类型函数名字以及参数列表其返回值类型与参数列表与普通的函数类似。 函数名字为关键字operator后面接需要重载的运算符符号。
函数原型返回值类型 operator操作符(参数列表)
只看定义不太好理解运算符重载我们还是直接先看代码结合代码边分析边理解定义与注意要点。
// 全局的operator
#includeiostream
using namespace std;
class Date
{
public:Date(int year 1900, int month 1, int day 1){_year year;_month month;_day day;}
//private:int _year;int _month;int _day;
};
// 这里会发现运算符重载成全局的 就需要成员变量是公有的不然下面的函数无法访问到成员变量
// 那么问题来了封装性如何保证
//这点我们现在还没有办法解决,所以我们先暂时将成员设定为公有。
//还有一种办法就是把它写进类中变成成员函数。
