走进C++程序世界------操作符运算及操作符重载
重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法
下面关于操作符重载的具体实例(单目运算的自增及自减)
/* *auto_ptr.cpp *cDate : 2013-9-28 *Author: sjin *Mail:413977243@qq.com */#include <iostream>#include <memory>using namespace std;/*解除引用运算符*及成员属性运算符-> */class dog{public: dog(){cout << "dog constructor.."<<endl;} ~dog() {cout << "dog destructor.."<<endl;} void Bark(){ cout << " Bark Bark!..."<<endl; }};int main(){ /*相当于 int *int_ptr = new int;*/ auto_ptr <int> int_ptr(new int); *int_ptr = 25; cout << "*int_ptr = " << *int_ptr << endl; /*相当于 dog * dog_ptr = new dog;*/ auto_ptr <dog> dog_ptr(new dog); dog_ptr->Bark();}[jsh@localhost operation]$ ./a.out*int_ptr = 25dog constructor.. Bark Bark!...dog destructor..
上面的打印中我们并没有使用delete释放dog,但是在打印中有输出,这个工作有智能指针完成。