Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 11 / example
diff options
context:
space:
mode:
Commit8cf1283a4ffb9fe1901c29c087fa376de82726af (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2022-02-19 23:30:52 +0200
Committer
 angeld55 <angel_dimitriev@abv.bg>
2022-02-19 23:30:52 +0200
Filesabdfe6bf526100dcce87a88563100e02adf7605e /Sem. 11/example
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.tar
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.tar.gz
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.zip
Parentd73a7ec225516657dec74472a0491330e9999217 (diff)
clean up
3 files changed, 0 insertions, 151 deletions
-rw-r--r--Sem. 11/example/Person.cpp99
-rw-r--r--Sem. 11/example/Person.h35
-rw-r--r--Sem. 11/example/main.cpp17
diff --git a/Sem. 11/example/Person.cpp b/Sem. 11/example/Person.cpp
deleted file mode 100644
index ae78280..0000000
--- a/Sem. 11/example/Person.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include "Person.h"
-#include <iostream>
-
-using namespace std;
-
-Person::Person() : Person("Unknown", 0)
-{
-
-}
-Person::Person(const char* name, int age) : name(nullptr), age(age)
-{
- cout << "Constr" << endl;
- setName(name);
- setAge(age);
-}
-
-Person::Person(const Person& other)
-{
- cout << "copy constr" << endl;
- copyFrom(other);
-}
-Person::Person(Person&& other)
-{
- cout << "Move constr" << endl;
-
- name = other.name;
- age = other.age;
-
- other.name = nullptr;
-}
-
-Person& Person::operator=(Person&& other)
-{
-
- std::cout << "Move op= " << endl;
- if (this != &other)
- {
- free();
-
- name = other.name;
- other.name = nullptr;
-
- age = other.age;
-
- }
- return *this;
-}
-
-Person& Person::operator = (const Person& other)
-{
- cout << "op =" << endl;
- if (this != &other)
- {
- free();
- copyFrom(other);
- }
- return *this;
-}
-Person::~Person()
-{
- cout << "Destructor" << endl;
- free();
-}
-
-const char* Person::getName() const
-{
- return name;
-}
-
-int Person::getAge() const
-{
- return age;
-}
-
-void Person::setName(const char* name)
-{
- delete[] this->name;
- this->name = new char[strlen(name) + 1];
- strcpy(this->name, name);
-}
-void Person::setAge(int age)
-{
- if (age < 0 || age > 120)
- age = 40;
- this->age = age;
-}
-
-void Person::copyFrom(const Person& other)
-{
- name = new char[strlen(other.name) + 1];
- strcpy(name, other.name);
-
- age = other.age;
-}
-void Person::free()
-{
- delete[] name;
- age = 0;
-} \ No newline at end of file
diff --git a/Sem. 11/example/Person.h b/Sem. 11/example/Person.h
deleted file mode 100644
index 9a404c4..0000000
--- a/Sem. 11/example/Person.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#pragma once
-
-class Person
-{
-public:
- Person();
- Person(const char* name, int age);
-
- Person(const Person& other);
-
- Person(Person&& other); //move constr
-
- Person& operator=(Person&& other); // move op=
-
- Person& operator=(const Person& other);
- ~Person();
-
- void setName(const char* name);
- void setAge(int age);
-
- const char* getName() const;
- int getAge() const;
-
- void print();
-
-
-private:
-
- void copyFrom(const Person& other);
- void free();
-
-
- char* name;
- int age;
-}; \ No newline at end of file
diff --git a/Sem. 11/example/main.cpp b/Sem. 11/example/main.cpp
deleted file mode 100644
index 80fef69..0000000
--- a/Sem. 11/example/main.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-#include<iostream>
-#include<iostream>
-#include "Person.h"
-using namespace std;
-
-Person createPerson(const char* name, int age)
-{
- Person p(name, age);
-
- return std::move(p);
-}
-
-int main()
-{
- Person p2("Petur",18);
- p2 = createPerson("Ivan", 23);
-}