diff options
start from scratch
3 files changed, 0 insertions, 90 deletions
| -rw-r--r-- | Big4_basic_examples/TestClass/Source.cpp | 20 | ||||
| -rw-r--r-- | Big4_basic_examples/TestClass/TestClass.cpp | 45 | ||||
| -rw-r--r-- | Big4_basic_examples/TestClass/TestClass.h | 25 |
diff --git a/Big4_basic_examples/TestClass/Source.cpp b/Big4_basic_examples/TestClass/Source.cpp deleted file mode 100644 index bdb8002..0000000 --- a/Big4_basic_examples/TestClass/Source.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include <iostream> -#include "TestClass.h" - -using namespace std; - - -int main() -{ - TestClass obj1(3, 3, "abc"); - - TestClass obj2(obj1);//copy const; - - TestClass obj3(3, 1, "333"); - - obj3 = obj1; // operator=; - - TestClass obj4 = obj3; ////copy const; - - -} //destructors
\ No newline at end of file diff --git a/Big4_basic_examples/TestClass/TestClass.cpp b/Big4_basic_examples/TestClass/TestClass.cpp deleted file mode 100644 index fe5692b..0000000 --- a/Big4_basic_examples/TestClass/TestClass.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include "TestClass.h" - - -TestClass::TestClass() : TestClass(0, 0, "Unknown") -{ - -} -TestClass::TestClass(int a, int b, const char* str) -{ - this->a = a; - this->b = b; - name = new char[strlen(str) + 1]; - strcpy(name, str); -} -TestClass::TestClass(const TestClass& other) -{ - CopyFrom(other); - //name = other.name NO! only the pointer will be copied. -} - -TestClass& TestClass::operator=(const TestClass& other) -{ - if (this != &other) - { - Free(); - CopyFrom(other); - } - return *this; // this TestClass* -} -TestClass::~TestClass() -{ - Free(); -} -void TestClass::CopyFrom(const TestClass& other) -{ - name = new char[strlen(other.name) + 1]; - strcpy(name, other.name); - a = other.a; - b = other.b; -} -void TestClass::Free() -{ - delete[] name; - a = b = 0; -} diff --git a/Big4_basic_examples/TestClass/TestClass.h b/Big4_basic_examples/TestClass/TestClass.h deleted file mode 100644 index 4841785..0000000 --- a/Big4_basic_examples/TestClass/TestClass.h +++ /dev/null @@ -1,25 +0,0 @@ -#include <iostream> -class TestClass -{ -private: - - void CopyFrom(const TestClass& other); - void Free(); - int a; - int b; - char* name; - -public: - - - TestClass(int a, int b, const char* str); - - // big4 - TestClass(); - TestClass(const TestClass& other); - TestClass& operator=(const TestClass& other); - ~TestClass(); - - void Print() const; - -}; |
