diff options
Create Student_example.cpp
1 files changed, 37 insertions, 0 deletions
| -rw-r--r-- | Sem. 04/Student_example.cpp | 37 |
diff --git a/Sem. 04/Student_example.cpp b/Sem. 04/Student_example.cpp new file mode 100644 index 0000000..954b3bf --- /dev/null +++ b/Sem. 04/Student_example.cpp @@ -0,0 +1,37 @@ +#include <iostream> +#include <fstream> +#include <cstring> +using namespace std; + +struct Student +{ + char* name; + int age; + + Student(const char* name, int age) + { + this->name = new char[strlen(name) + 1]; + strcpy(this->name, name); + this->age = age; + } + + void print() const + { + std::cout << "Name: " << name << ", age: " << age << std::endl; + } + ~Student() + { + delete[] name; + } +}; +int main() +{ + Student s("Ivan", 33); + + Student* ptr = new Student("Petur", 17); + + s.print(); + ptr->print(); + + delete ptr; //calls destructor of ptr +}//calls destructor of s |
