1. 定义在私有区域中的构造函数(内容略)
2. 常量成员函数(const member functions)
double real() const { return re; } double imag() const { return im; }
这两个函数只是把函数的实部和虚部拿出来,并不是写,不写就不会改变数据,所以可以定义成常量成员函数。函数前面需要加const修饰符的时候一定要加,不加的话可能会产生不希望的后果。比如:
const complex c1(2, 1);
这一句就是说,我创建对象的时候,我的数据不可以被改变,但是假如调用函数real()的时候,real()函数前面没有加const,就会产生矛盾,因为没有用const修饰的函数意味着:进来的数据有可能被改变。
#include<iostream> #include"complex.h" using namespace std; int main() { const complex c1(2, 1); cout << c1.real() << endl; cout << c1.imag() << endl; system("pause"); return 0; }