summaryrefslogtreecommitdiff
path: root/ACE/examples/APG/Containers/DataElement.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/examples/APG/Containers/DataElement.h')
-rw-r--r--ACE/examples/APG/Containers/DataElement.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/ACE/examples/APG/Containers/DataElement.h b/ACE/examples/APG/Containers/DataElement.h
new file mode 100644
index 00000000000..cd09d86fa87
--- /dev/null
+++ b/ACE/examples/APG/Containers/DataElement.h
@@ -0,0 +1,52 @@
+/* -*- C++ -*- */
+// $Id$
+
+#if !defined(DATAELEMENT_H)
+#define DATAELEMENT_H
+
+class DataElementEx;
+
+// Listing 1 code/ch05
+// A simple data element class.
+class DataElement
+{
+ friend class DataElementEx;
+
+public:
+ DataElement () : data_ (0) { count_++; }
+
+ DataElement (int data) : data_(data) { count_++; }
+
+ DataElement (const DataElement& e)
+ {
+ data_ = e.getData ();
+ count_++;
+ }
+
+ DataElement & operator= (const DataElement& e)
+ {
+ data_ = e.getData ();
+ return *this;
+ }
+
+ bool operator== (const DataElement& e)
+ { return this->data_ == e.data_; }
+
+ ~DataElement () { count_--; }
+
+ int getData (void) const { return data_; }
+
+ void setData (int val) { data_ = val; }
+
+ static int numOfActiveObjects (void) { return count_; }
+
+ private:
+ int data_;
+ static int count_;
+};
+// Listing 1
+
+int DataElement::count_ = 0;
+
+#endif /*DATAELEMENT_H*/
+