遂宁移动端网站建设,合肥百度搜索排名优化,如何建设一个商城网站,小程序开发网上商城一、 函数重载 在同一个作用域内#xff0c;可以声明几个功能类似的同名函数#xff0c; 这些同名函数的形式参数#xff08;指参数的个数、类型或者顺序#xff09;必须不同。您不能仅通过返回类型的不同来 重载函数。 下面的实例中#xff0c;同名函数 print() 被用…一、 函数重载 在同一个作用域内可以声明几个功能类似的同名函数 这些同名函数的形式参数指参数的个数、类型或者顺序必须不同。您不能仅通过返回类型的不同来 重载函数。 下面的实例中同名函数 print() 被用于输出不同的数据类型 #include iostream
#include string
using namespace std;
class printData
{
public:void print(int i) {cout 整数为: i endl;}void print(double f) {cout 浮点数为: f endl;}void print(string str) {cout 字符串为: str endl;}
};
void print(int i) {cout 整数为: i endl;
}
void print(double f) {cout 浮点数为: f endl;
}
void print(string str) {cout 字符串为: str endl;
}void print(int i,double f) {cout 整数为: i ,浮点数为f endl;
}int main(void)
{print(5);print(500.13);print(hello world);print(1,23.2);printData pd;// 输出整数pd.print(5);// 输出浮点数pd.print(500.263);// 输出字符串string str Hello C;pd.print(str);return 0;
} 二、 运算符重载 在 C 中运算符重载是一个允许程序员自定义各种运算符如 , - , , ! 等在自定义类型类或结构体上的行为的特性。这意味着你可以定义类似于内置类型的运算符行为使你的自定义类型更加直观和易于使用。 基本原则 1. 不可以创建新的运算符 只能重载已经存在的运算符。 2. 至少有一个操作数是用户定义的类型 不能重载两个基本类型的运算符。 3. 不能更改运算符的优先级 重载的运算符保持其原有的优先级和结合性。 示例 1 假设我们有一个 Person 类我们可以重载 运算符来实现两个 Person 是否相等的判断。 #include iostream
using namespace std;
class Person
{
public:string name;int inNumberTail;bool operator(Person pTmp);
};bool Person::operator(Person pTmp){return pTmp.name name pTmp.inNumberTail inNumberTail;
}
int main()
{//假设我们认定名字和身份证尾号6位一样的两个对象是同一个人Person p1;p1.name 张三;p1.inNumberTail 412508;Person p2;p2.name 张三;p2.inNumberTail 412508;bool ret p1 p2;cout ret endl;return 0;
} 示例 2 假设我们有一个简单的 Point 类我们可以重载 运算符来实现两个点的加法。 #include iostream
using namespace std;
class Point {
public:int x, y;// 重载 运算符Point operator(Point other) {Point res;res.x x other.x;res.y y other.y;return res;}
};
int main() {Point p1;p1.x 1;p1.y 2;Point p2;p2.x 2;p2.y 3;Point p3 p1 p2; // 使用重载的 运算符std::cout p3.x: p3.x , p3.y: p3.y std::endl; // 输出return 0;};