#include <iostream>
//cooldog
class Animal {
public:
Animal(int legs, int id) : _legs(legs), _id(id) {}
void print() {
std::cout << "legs:" << _legs << "; id:" << _id << std::endl;
}
private:
int _legs;
int _id;
};
class Exam {
public:
Exam(Animal a) : _a(a) {}
Animal& operator*() {
return _a;
}
Animal* operator->() {
return &_a;
}
private:
Animal _a;
};
int main() {
Animal my(2, 201208);
Exam ex(my);
(ex.operator->())->print();
ex->print();
(ex.operator*()).print();
(*ex).print();
return 0;
}
运算符重载之* ->
最新推荐文章于 2023-10-12 01:45:00 发布