Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Dog
- {
- public:
- char* name;
- int age;
- public:
- void Guard()
- {
- cout << "Dog::Guard()\n";
- }
- void Bark()
- {
- cout << "Dog::Bark()\n";
- }
- static void StaticMethod()
- {
- cout << "Dog::StaticMethod\n";
- }
- };
- void main()
- {
- setlocale(0, "");
- cout << "Размер в байтах типа Dog: ";
- cout << sizeof(Dog) << "\n";
- Dog d;
- cout << "Адрес объекта d типа Dog: ";
- cout << &d << " (" << (int)&d << ")\n";
- cout << "Адрес первого поля объекта d: ";
- cout << &d.name << " (" << (int)&d.name << ")\n";
- cout << "Адрес второго поля объекта d: ";
- cout << &d.age << " (" << (int)&d.age << ")\n";
- cout << "Адрес статического метода класса Dog: ";
- cout << &Dog::StaticMethod << " (или ";
- cout << &d.StaticMethod << ")\n";
- cout << "Адрес обычного метода класса Dog: ";
- void (Dog::*memfunc_ptr)() = &Dog::Bark;
- auto cheat = &Dog::Bark;
- cout << memfunc_ptr << "\n";
- Dog *omg = new Dog();
- (omg->*memfunc_ptr)();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement