summaryrefslogtreecommitdiff
path: root/examples/cxxexample.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cxxexample.cpp')
-rw-r--r--examples/cxxexample.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/examples/cxxexample.cpp b/examples/cxxexample.cpp
new file mode 100644
index 0000000..46b3c01
--- /dev/null
+++ b/examples/cxxexample.cpp
@@ -0,0 +1,77 @@
+class Data1
+{
+ public:
+ int val;
+};
+
+int main(int)
+{
+}
+
+class Object1
+{
+ int k;
+
+ void func1(Data1 *ptr1, Data1 *ptr2)
+ {
+ if (!ptr1 || ptr1->val == 100)
+ {
+ return;
+ }
+
+ ptr1->val = 200;
+ }
+
+ void func2(Data1 *ptr1, Data1 *ptr2)
+ {
+ if (ptr1 && ptr1->val == 100)
+ {
+ ptr1->val = 200;
+ return;
+ }
+
+ ptr1->val = 300;
+ }
+
+ void func3(Data1 *ptr1, Data1 *ptr2)
+ {
+ if (ptr1 || ptr1->val == 100)
+ {
+ return;
+ }
+
+ ptr1->val = 200;
+ }
+
+ void func4(Data1 *ptr1, Data1 *ptr2)
+ {
+ if (!ptr1 && ptr1->val == 100)
+ {
+ return;
+ }
+
+ ptr1->val = 200;
+ }
+
+ void func5(Data1 *ptr1, Data1 *ptr2)
+ {
+ if ((!ptr1 || ptr1->val == 100) || (!ptr2 || ptr2->val == 200))
+ {
+ return;
+ }
+
+ ptr1->val = 300;
+ ptr2->val = 400;
+ }
+
+ void func6(Data1 *ptr1, Data1 *ptr2)
+ {
+ if ((!ptr1 || ptr1->val == 100) && (!ptr2 || ptr2->val == 200))
+ {
+ return;
+ }
+
+ ptr1->val = 300;
+ ptr2->val = 400;
+ }
+};