aboutsummaryrefslogtreecommitdiffstats
path: root/tests/libsample/reference.cpp
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2009-10-30 17:11:00 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2009-10-30 17:11:00 -0300
commit684aa0235c757a614963deaa4337202b1bc6c997 (patch)
tree36c88e67d0ec1471a764aeebfc3a085140752914 /tests/libsample/reference.cpp
parent5c190b426be32749bb802c15ef2c980b057af658 (diff)
added new test cases to check if a value-type object passed as reference to
regular, virtual and reimplemented virtual methods are being altered in place
Diffstat (limited to 'tests/libsample/reference.cpp')
-rw-r--r--tests/libsample/reference.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/libsample/reference.cpp b/tests/libsample/reference.cpp
index c61672849..08805dc5b 100644
--- a/tests/libsample/reference.cpp
+++ b/tests/libsample/reference.cpp
@@ -40,7 +40,7 @@ using namespace std;
void
Reference::show() const
{
- cout << "Reference.objId: " << m_objId;
+ cout << "Reference.objId: " << m_objId << ", address: " << this;
}
int
@@ -67,3 +67,15 @@ Reference::callUsesConstReferenceVirtual(const Reference& r, int inc)
return usesConstReferenceVirtual(r, inc);
}
+void
+Reference::alterReferenceIdVirtual(Reference& r)
+{
+ r.setObjId(r.objId() * Reference::multiplier());
+}
+
+void
+Reference::callAlterReferenceIdVirtual(Reference& r)
+{
+ alterReferenceIdVirtual(r);
+}
+