C++

[C++] 명품 C++ 프로그래밍 실습문제 7장 10번

Hs’s Coding vlog 2023. 1. 11. 21:52

[C++]명품 C++ 프로그래밍 실습문제 7장 10번

[C++]명품 C++ programming 실습문제 7장 10번

명품 C++ 프로그래밍실습문제/연습문제 /C++

#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>

using namespace std;
class statistics{
    int *p; //동적할당을 받을 배열이다.
    int count=0;
public:
    statistics(){
        p = new int [10];
    }

    statistics &operator <<(int k){//자기자신의 객체를 리턴할땐 &참조연산자를 붙여야함
        this->p[count]=k;
        count++;
        return *this;
    }
    bool operator !(){
        if(this->count==0) return true;
        else return false;
    }
    void operator ~(){
        for(int i=0 ; i<count ; i++){
            cout << this->p[i] << " " ;
            
        }
        cout << endl;
    }
    void operator >>(int &avg){
        int sum=0;
        for(int i=0;i<count;i++){
            sum =sum+this->p[i];
        }
        avg = sum/count;
    }
    
};



int main() {
    statistics stat;
    if(!stat) cout << "현재 통계 데이터가 없습니다. " << endl;
    int x[5];
    cout << "5개의 정수를 입력하라>>";
    
    for(int i=0; i<5 ; i++) cin >> x[i];
    
    for(int i=0; i<5 ;i++) stat << x[i];
    stat << 100 << 200;
    ~stat;
    
    int avg;
    stat >> avg;
    cout << "avg = " << avg << endl;
    
    
    return 0;
}