diff options
author | Emiel Bruijntjes <emiel.bruijntjes@copernica.com> | 2014-03-04 15:11:46 +0100 |
---|---|---|
committer | Emiel Bruijntjes <emiel.bruijntjes@copernica.com> | 2014-03-04 15:11:46 +0100 |
commit | 200952ad4004f6ee5527598622505adbe84df8af (patch) | |
tree | a4fb92a86730c771e36abf421835ab01861ef41c /Examples | |
parent | 59cfe935248918c1151b300eb19496b76ed579a9 (diff) |
implemented cloning of objects
Diffstat (limited to 'Examples')
-rw-r--r-- | Examples/CppClassesInPhp/cppclassinphp.cpp | 9 | ||||
-rw-r--r-- | Examples/CppClassesInPhp/cppclassinphp.php | 18 |
2 files changed, 23 insertions, 4 deletions
diff --git a/Examples/CppClassesInPhp/cppclassinphp.cpp b/Examples/CppClassesInPhp/cppclassinphp.cpp index 95f909b..20c04c4 100644 --- a/Examples/CppClassesInPhp/cppclassinphp.cpp +++ b/Examples/CppClassesInPhp/cppclassinphp.cpp @@ -14,14 +14,17 @@ using namespace std; class MyCustomClass : public Php::Base // , public Php::Countable { private: - int _x; + int _x = 3; public: MyCustomClass() { - _x = 3; std::cout << "MyCustomClass::MyCustomClass" << std::endl; - std::cout << _x << std::endl; + } + + MyCustomClass(const MyCustomClass &that) + { + std::cout << "MyCustomClass::MyCustomClass copy constructor" << std::endl; } virtual ~MyCustomClass() diff --git a/Examples/CppClassesInPhp/cppclassinphp.php b/Examples/CppClassesInPhp/cppclassinphp.php index c969a4c..7fd4f64 100644 --- a/Examples/CppClassesInPhp/cppclassinphp.php +++ b/Examples/CppClassesInPhp/cppclassinphp.php @@ -18,7 +18,23 @@ class TestClass } //create a MyCustomClass object, which is an object of a C++ class -$object = new MyClass(); +$object1 = new MyClass(); + +//echo("prop x: ".$object1->x."\n"); + +$object1->x = 10; +$object1->y = 20; + +echo("prop x: ".$object1->x."\n"); +echo("prop y: ".$object1->y."\n"); + +$object2 = clone $object1; + +echo("prop x: ".$object2->x."\n"); +echo("prop y: ".$object2->y."\n"); + + +return; // run a function of the class $obj = $object->myMethod("MyClass"); |