C++ Primer 笔记 本笔记基于 C++ Primer 的学习笔记,涵盖了友元函数、操作符重载、运算符重载、using 声明和引用等多个知识点。 友元函数 友元函数是一种特殊的函数,它可以访问类的私有成员。通过让函数成为类的友元,赋予该函数与类的成员函数相同的访问权限。例如: ```cpp class Time { private: int hours; int minutes; public: Time(); Time(int h, int m = 0); void AddMin(int m); void AddHr(int h); void Reset(int h = 0, int m = 0); Time Sum(const Time &t)const; void Show()const; friend Time operator*(double m, const Time &t); }; ``` 在上面的代码中,我们将 `operator*` 声明为友元函数,这样它可以访问 `Time` 类的私有成员。 操作符重载 操作符重载是 C++ 语言的一个重要特性,它允许我们重新定义操作符的行为,使得我们的程序更加灵活和易用。例如,我们可以重载加法操作符 `+`: ```cpp class Time { public: Time operator+(const Time &t)const; }; ``` 这个操作符重载函数将两个 `Time` 对象相加,并返回结果。 运算符重载 运算符重载是操作符重载的一种特殊形式,它允许我们重新定义运算符的行为。例如,我们可以重载输出运算符 `<<`: ```cpp ostream &operator<<(ostream &os, const Time &t) { os << t.hours << " hours and " << t.minutes << " minutes"; return os; } ``` 这个运算符重载函数将 `Time` 对象输出到流中。 using 声明 using 声明是一种使名称可用的机制,它可以使我们的程序更加简洁易读。例如: ```cpp using namespace std; ``` 这个 using 声明使得我们可以使用标准库中的名称,而不需要使用完整的名称空间限定符。 引用 引用是已定义变量的别名,它的主要用途是用作函数的形参。例如: ```cpp int a = 12; int &b = a; ``` 在上面的代码中,`b` 成为 `a` 的别名,他们指向相同的值和内存单元。 这个笔记涵盖了 C++ 语言的多个重要特性,包括友元函数、操作符重载、运算符重载、using 声明和引用等。
剩余6页未读,继续阅读
- 粉丝: 1
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助