class Distance
{
private:
int feet;
public:
Distance(int f=1)
{
feet = f;
}
Distance& operator- ()
{
static Distance d;
d.feet = -this->feet;
return d;
}
void display()
{
cout << feet << endl;
}
};
int main()
{
Distance d1(10), d2;
d2 = -d1;
d1.display();
d2.display();
return 0;
}
class Distance
{
private:
int feet;
public:
Distance(int f=1)
{
feet = f;
}
Distance& operator+ (const Distance& dis)
{
static Distance d;
d.feet = this->feet + dis.feet;
return d;
}
void display()
{
cout << feet << endl;
}
};
int main()
{
Distance d1(10), d2(4), d3;
d3 = d1 + d2;
d1.display();
d2.display();
d3.display();
return 0;
}
class Distance
{
private:
int feet;
public:
Distance(int f=1)
{
feet = f;
}
bool operator< (const Distance& dis)
{
if(this->feet < dis.feet)
{
return true;
}
return false;
}
};
int main()
{
Distance d1(10), d2(4);
if(d1 < d2)
{
cout << "d1 is smaller than d2" << endl;
}
else
{
cout << "d1 is larger than d2" << endl;
}
return 0;
}
class Distance
{
private:
int feet;
int dence;
public:
Distance(int f=1, int d=2)
{
feet = f;
dence = d;
}
friend ostream& operator<< (ostream& output, const Distance& dis)
{
output << "feet=" << dis.feet << ", dence=" << dis.dence;
return output;
}
friend istream& operator>> (istream& input, Distance& dis)
{
input >> dis.feet >> dis.dence;
return input;
}
};
int main()
{
Distance d1;
cin >> d1;
cout << d1 << endl;
return 0;
}
class Distance
{
private:
int feet;
public:
Distance(int f=1)
{
feet = f;
}
Distance& operator++ ()
{
static Distance d;
d.feet = ++this->feet;
return d;
}
Distance& operator++ (int)
{
static Distance d;
d.feet = this->feet++;
return d;
}
void display()
{
cout << feet << endl;
}
};
int main()
{
Distance d1(10), d2;
d2 = ++d1;
d1.display();
d2.display();
d2 = d1++;
d1.display();
d2.display();
return 0;
}
class Distance
{
private:
int feet[10];
public:
Distance()
{
for(int i=0; i<10; i++)
{
feet[i] = i+10;
}
}
int& operator[] (const int i)
{
if(i>=10)
{
cout << "索引超过最大值" << endl;
return this->feet[0];
}
return this->feet[i];
}
};
int main()
{
Distance d;
cout << d[3] << endl;
d[3] = 6;
cout << d[3] << endl;
return 0;
}
class Distance
{
private:
int feet;
public:
Distance(int f=1)
{
feet = f;
}
void display()
{
cout << feet << endl;
}
};
class Pointer
{
private:
Distance *dis;
public:
Pointer(Distance *d)
{
dis = d;
}
Distance* operator-> ()
{
return dis;
}
};
int main()
{
Distance d;
Pointer p(&d);
p->display();
return 0;
}