#include <iostream>
class MyClass {
public:
void showMyClass() {
std::cout << "Hello World!" << std::endl;
}
};
int main()
{
MyClass obj;
MyClass* ptr;
ptr = &obj;
ptr->showMyClass();
return 0;
}
#include <iostream>
class AClass {
public:
void showAClass() {
std::cout << "Dynamically created Object" << std::endl;
}
};
int main()
{
AClass* ptr = new AClass{ };
ptr->showAClass();
delete ptr;
return 0;
}
#include <iostream>
class MyClass {
public:
int value;
MyClass(int v = 0) : value(v) {
}
void showMyClass() {
std::cout << "value: " << value << std::endl;
}
};
int main()
{
MyClass* ptr = new MyClass{ 10 };
ptr->showMyClass();
printf("value: %d\n", ptr->value);
delete ptr;
MyClass obj{};
ptr = &obj;
ptr->showMyClass();
(*ptr).showMyClass();
printf("value: %d\n", (*ptr).value);
return 0;
}
#include <iostream>
class MyClass {
public:
void show() {
std::cout << "Hello!" << std::endl;
}
};
int main()
{
MyClass* ptr = nullptr;
if (ptr != nullptr) {
ptr->show();
}
else {
printf("ptr is NULL\n");
}
ptr = new MyClass{};
printf("ptr: %p\n", ptr);
ptr->show();
return 0;
}
#include <iostream>
class Base {
public:
void show() {
printf("Base Class\n");
}
};
class Derived : public Base {
public:
void show() {
printf("Derived Class\n");
}
};
int main()
{
Base* bptr = nullptr;
Derived* dptr = nullptr;
Derived obj;
dptr = &obj;
dptr->show();
bptr = &obj;
bptr->show();
return 0;
}
#include <iostream>
class Base {
public:
void show() {
printf("Base Class");
}
};
class Derived : public Base {
public:
void show() {
printf("Derived Class");
}
};
int main()
{
Base bobj;
Derived* dptr = nullptr;
dptr = (Derived*)&bobj;
dptr->show();
return 0;
}