Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Base
- {
- public:
- virtual ~Base() {}
- virtual int foo() = 0;
- };
- class a : public Base
- {
- public:
- a() {
- i=666;
- }
- virtual int foo() {
- return i;
- }
- private:
- int i;
- };
- class b
- {
- public:
- b() {
- i=44;
- }
- int bar() {
- return -i;
- }
- int i;
- };
- ostream& operator<<(ostream& cout,a& obj)
- {
- cout << "funkcja dla klasy a:" << obj.foo();
- return cout;
- }
- ostream& operator<<(ostream& cout, b& obj)
- {
- cout << "funkcja dla klasy b:" << obj.bar();
- obj.i = 0;
- return cout;
- }
- union unia {
- a* uA;
- b* uB;
- };
- int main()
- {
- unia u;
- u.uA = new a();
- cout << *u.uA << '\n';
- cout << *u.uB << '\n';
- cout << *u.uA << '\n';
- std::cin.ignore();
- std::cin.sync();
- }
Add Comment
Please, Sign In to add comment