/////////////////////////////////Common.h/////////////////////////////////
#define MIN_VALUE 0 // Dummy value, min limit
#define MAX_VALUE 100 // Dummy value, max limit
#define SUCCESS 0
#define FAIL -1
/////////////////////////////////CTmpClass.h/////////////////////////////////
#include \"Common.h\"
class TmpClass
{
protected:
int sum;
int cnt;
void InitMembers();
public:
TmpClass();
int InputValue(int value);
int GetSum();
float GetAverage();
int GetCount();
int Func1(int value, int *pOutSum, int *pOutAverage);
};
/////////////////////////////////CTmpClass.cpp/////////////////////////////////
#include \"CTmpClass.h\"
TmpClass::TmpClass(void)
{
this->InitMembers();
}
void TmpClass::InitMembers()
{
this->sum = 0;
this->cnt = 0;
}
int TmpClass::Func1(int value, int *pOutSum, float *pOutAverage)
{
int result = FAIL;
do
{
if ( FAIL == this->InputValue(value) )
break;
*pOutSum = this->GetSum;
*pOutAverage = this->GetAverage();
result = SUCCESS;
}while(0);
return result;
}
int TmpClass::InputValue(int value)
{
int result = FAIL;
do
{
if ( value < MIN_VALUE || value > MAX_VALUE )
break;
//or more checks
cnt++;
this->sum += value;
result = SUCCESS;
}while(0);
return result;
}
int TmpClass::GetSum()
{
return this->sum;
}
int TmpClass::GetCount()
{
return this->cnt;
}
float TmpClass::GetAverage()
{
if ( this->cnt )
return (float)this->GetSum() / this->GetCount();
else
return 0;
}
/////////////////////////////////main.cpp/////////////////////////////////
#include <stdio.h>
#include \"CTmpClass.h\"
int main( int argc, char **argv )
{
TmpClass obj;
int idx, sum;
float average;
printf( \"initial sum: %d, average: %f\\n\", obj.GetSum(), obj.GetAverage() );
for( idx = -255; idx < 255; idx++ )
{
if ( SUCCESS == obj.Func1( idx, &sum, &average ) )
printf( \"idx: %d, sum: %d, average: %f\\n\", idx, sum, average );
}
return 0;
}
C도 잘 모르는 새끼가 C++ 만지고 있는 꼴을 보니 화가 나.
어디 함수 리턴을 괄호 콤마쳐서 두개를 할 생각을 하지?
다 상관없고 시간들여 써놓은 내가 잣나무병신같어ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
뭐 씨발 좋을일 있다고 저딴새끼 싸지른 코드 보고
레퍼런스하라고 손가락 아프게 타이핑하면서 병신력이나 뿜고있나 아오 빡쳐
퇴갤
댓글 0