/////////////////////////////////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++ 만지고 있는 꼴을 보니 화가 나.

어디 함수 리턴을 괄호 콤마쳐서 두개를 할 생각을 하지?






다 상관없고 시간들여 써놓은 내가 잣나무병신같어ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

뭐 씨발 좋을일 있다고 저딴새끼 싸지른 코드 보고

레퍼런스하라고 손가락 아프게 타이핑하면서 병신력이나 뿜고있나 아오 빡쳐

퇴갤