c++中点运算符的作用
时间: 2024-05-18 08:13:27 浏览: 10
在C++中,点运算符(.)是用于访问类的成员变量和成员函数的。当我们需要访问一个对象的成员变量或成员函数时,就可以使用点运算符,其基本语法为:`对象名.成员名`。例如,假设有一个类Person,其中有一个成员变量name和一个成员函数getName(),我们可以使用点运算符来访问这些成员,例如:`Person p; p.name = "Tom"; string n = p.getName();`。值得注意的是,点运算符只能用于访问非静态成员。如果要访问静态成员,则需要使用作用域运算符(::)。
相关问题
c++重载运算符技巧
C++中的运算符重载是一种特殊的多态性,它允许我们重新定义已有的运算符,以便用于用户自定义的数据类型。以下是一些C++重载运算符的技巧:
1. 运算符重载函数必须是类的成员函数或全局函数,但不能是普通的成员函数。
2. 重载运算符函数的名称必须是operator后面跟着要重载的运算符符号,例如+、-、*、/等。
3. 重载运算符函数可以有任意数量的参数,但必须至少有一个参数是类类型或枚举类型。
4. 重载运算符函数可以返回任何类型的值,但通常返回一个新的类对象。
5. 重载运算符函数可以是const函数,这意味着它不会修改类的成员变量。
6. 重载运算符函数可以是友元函数,这意味着它可以访问类的私有成员变量。
以下是一个C++重载运算符的例子:
```cpp
#include <iostream>
using namespace std;
class Complex {
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
Complex operator+(const Complex& c) const {
return Complex(real + c.real, imag + c.imag);
}
friend ostream& operator<<(ostream& os, const Complex& c) {
os << c.real << "+" << c.imag << "i";
return os;
}
private:
double real;
double imag;
};
int main() {
Complex c1(1.0, 2.0);
Complex c2(3.0, 4.0);
Complex c3 = c1 + c2;
cout << c3 << endl; // 输出:4+6i
return 0;
}
```
C++移位运算符优先级
C++中的移位运算符有左移运算符()和右移运算符(>>)。它们的优先级相同,都比算术运算符低,但比比较运算符高。移位运算符的优先级低于算术运算符,但高于比较运算符。
下面是C++中移位运算符的优先级从高到低的顺序:
1. 算术运算符(如加法、减法等)
2. 移位运算符(左移和右移)
3. 比较运算符(如大于、小于等)
4. 逻辑运算符(如与、或等)
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)