C++重載操做符

重載的函數操做符,對對象使用起來就像對象是一個函數同樣

class A
{
public:
A(int n);
int operator()(int n);  //須要一個參數,返回int類型
void output();
int x;
};
A::A(int n):x(n)
{
}
int A::operator()(int n)
{
x=n;           //實現.就是令數據成員x等於參數n
return x;
}
void A::output()
{
cout<<x<<endl;
}

int main()
{
A a(3);
a.output();    //輸出3
cout<<a(5)<<endl; //a(5)就調用了operator(5),並a.x=5,返回值是int,也就是5
a.output();         //輸出a.x,也是5函數

相關文章
相關標籤/搜索