summaryrefslogtreecommitdiff
path: root/Examples
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-04 15:11:46 +0100
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-04 15:11:46 +0100
commit200952ad4004f6ee5527598622505adbe84df8af (patch)
treea4fb92a86730c771e36abf421835ab01861ef41c /Examples
parent59cfe935248918c1151b300eb19496b76ed579a9 (diff)
implemented cloning of objects
Diffstat (limited to 'Examples')
-rw-r--r--Examples/CppClassesInPhp/cppclassinphp.cpp9
-rw-r--r--Examples/CppClassesInPhp/cppclassinphp.php18
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");