summaryrefslogtreecommitdiffstats
path: root/doc/sources/c++/triangle.cpp
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-24 17:43:19 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-24 17:43:19 +0000
commit0292059f4a16434600564cfa3f0ad2309a508a54 (patch)
treed95953cd53011917c4df679b96aedca39401b54f /doc/sources/c++/triangle.cpp
downloadlibksquirrel-0292059f4a16434600564cfa3f0ad2309a508a54.tar.gz
libksquirrel-0292059f4a16434600564cfa3f0ad2309a508a54.zip
Added libksquirrel for KDE3
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/libraries/libksquirrel@1095624 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'doc/sources/c++/triangle.cpp')
-rw-r--r--doc/sources/c++/triangle.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/sources/c++/triangle.cpp b/doc/sources/c++/triangle.cpp
new file mode 100644
index 0000000..96185d0
--- /dev/null
+++ b/doc/sources/c++/triangle.cpp
@@ -0,0 +1,22 @@
+#include "polygon.hpp"
+#include <cmath>
+
+class triangle : public polygon
+{
+ public:
+ virtual double area() const
+ {
+ return side_length_ * side_length_ * sqrt(3) / 2;
+ }
+};
+
+// the class factories
+extern "C" polygon* create()
+{
+ return new triangle;
+}
+
+extern "C" void destroy(polygon* p)
+{
+ delete p;
+}