Merge remote-tracking branch 'origin/master' into Sound

This commit is contained in:
Stiffly
2015-09-09 18:45:12 +02:00
2 changed files with 87 additions and 0 deletions
+7
View File
@@ -54,12 +54,19 @@ file(GLOB SOURCE_FILES_Transform
) )
source_group(Transform FILES ${SOURCE_FILES_Transform}) source_group(Transform FILES ${SOURCE_FILES_Transform})
file(GLOB SOURCE_FILES_Game
"${INCLUDE_PATH}/Game/*.h"
"Game/*.cpp"
)
source_group(Game FILES ${SOURCE_FILES_Game})
set(SOURCE_FILES set(SOURCE_FILES
${SOURCE_FILES_Core} ${SOURCE_FILES_Core}
${SOURCE_FILES_Core_Util} ${SOURCE_FILES_Core_Util}
${SOURCE_FILES_Input} ${SOURCE_FILES_Input}
${SOURCE_FILES_Rendering} ${SOURCE_FILES_Rendering}
${SOURCE_FILES_Transform} ${SOURCE_FILES_Transform}
${SOURCE_FILES_Game}
) )
if(CMAKE_COMPILER_IS_GNUCXX) if(CMAKE_COMPILER_IS_GNUCXX)
+80
View File
@@ -0,0 +1,80 @@
#ifndef FILENAME_H__
#define FILENAME_H__
namespace dd
{
template <typename T>
class BaseClassName
{
public:
BaseClassName(T* child)
: m_Child(child) { }
virtual bool PublicMemberFunction(bool value) = 0;
private:
T* m_Child = nullptr;
};
class ClassName : public BaseClassName<ClassName>
{
public:
// Constructor
ClassName(int arg1)
: BaseClassName(this)
, m_PrivateMember1(arg1) { }
// Destructor
~ClassName()
{
if (m_PrivateMember2 != nullptr) {
delete m_PrivateMember2;
m_PrivateMember2 = nullptr;
}
}
// Getter
int& PrivateMember1() const { return m_PrivateMember1; }
// Setter
void SetPrivateMember1(const int& privateMember1) { m_PrivateMember1 = privateMember1; }
// Public member function
template <typename T>
bool PublicMemberFunction(bool value) override
{
if (!value) {
return false;
}
if (m_PrivateMember2 != nullptr) {
return true;
} else {
return false;
}
}
private:
// Private members with default values
int m_PrivateMember1 = 1;
int* m_PrivateMember2 = nullptr;
// Private member function
bool privateMemberFunction()
{
switch (m_PrivateMember1)
{
case 1:
m_PrivateMember2 = new ClassName(2);
break;
default:
return false;
}
return false;
}
};
}
#endif