Merge branch 'master' of github.com:teamfisk/AgileBreakOut
This commit is contained in:
@@ -56,12 +56,19 @@ file(GLOB 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
|
||||
${SOURCE_FILES_Core}
|
||||
${SOURCE_FILES_Core_Util}
|
||||
${SOURCE_FILES_Input}
|
||||
${SOURCE_FILES_Rendering}
|
||||
${SOURCE_FILES_Transform}
|
||||
${SOURCE_FILES_Game}
|
||||
)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
Executable
+80
@@ -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
|
||||
Reference in New Issue
Block a user