메뉴 건너뛰기

Programing

C++ 프로그래밍

#include<iostream>
using namespace std;
class MySet{
 int* m_Set;
 int m_Size;
 int m_MaxSize;
public:
 MySet(){
  m_Size=0;
  m_MaxSize=100;
  m_Set = new int[m_MaxSize];
 }
 MySet(int* agSet){
  int i=0;
  m_Size=sizeof(agSet)-2;
  m_MaxSize = 100;
  m_Set=new int[m_MaxSize];
  for(i=0;i<m_Size;i++){
   m_Set[i] = agSet[i];
  }
 }
 ~MySet(){
  if(!m_Set){
   delete[] m_Set;
   m_Set=NULL;
  }
 }
 int GetSize() {
  return m_Size;
 }
 int GetItem(int agIndex){
   return m_Set[agIndex];
 }
 void AddItem(int agValue){
  if(m_Size<m_MaxSize) m_Set[m_Size++]=agValue;
 }
 void Print(){
  cout<<"{ ";
  int i;
  for(i=0;i<m_Size-1;i++){
   cout<<m_Set[i]<<", ";
  }
  cout<<m_Set[i]<<"}\n";
 }
 MySet operator^(MySet right);
 MySet operator*(MySet right);
};
MySet MySet::operator^(MySet right){
 MySet tmp;
 for(int i=0;i<GetSize();i++){
  for(int j=0;j<right.GetSize();j++){
   if(GetItem(i)==right.GetItem(j)){
    tmp.AddItem(GetItem(i));
    break;
   }
  }
 }
 return tmp;
}
MySet MySet::operator*(MySet right){
 int flag=0;
 MySet tmp;
 for(int i=0;i<GetSize()-1;i++){
  tmp.AddItem(GetItem(i));
 }
 for(int j=0;j<right.GetSize()-1;j++){
  flag=0;
  for(int k=0;k<tmp.GetSize();k++){
   if(tmp.GetItem(k)==right.GetItem(j)){
    flag=1;
    break;
   }
  }
  if(flag==0) tmp.AddItem(right.GetItem(j));
 }
 return tmp;
}
int main(){
 int s1[]{1,3,5,7,9,11};
 int s2[]{11,13,7,9,20};
 MySet set1(s1),set2(s2);
 cout<<"SET1 = {1,3,5,7,9,11}\nSET2 = {11,13,7,9,20}\n";
 MySet Inter;
 Inter=set1^set2;
 cout<<"SET1 ^ SET2 = ";
 Inter.Print();
 MySet Uni;
 Uni=set1*set2;
 cout<<"SET1 * SET2 = ";
 Uni.Print();
 return 0;
}

--------------------------------------------------------------------------

연산자 중복을 이용해 교집합과 합집합을 구하는 연산자를 작성하였다.

번호 제목 글쓴이 최근 수정일 조회 수
공지 안내사항 관리자 2019.12.21 162
105 rewind() 함수의 사용에 관하여 관리자 2024.03.13 107
104 일반화 함수의 사용3 관리자 2019.03.01 162
103 일반화 함수의 사용2 관리자 2019.02.28 162
102 일반화 함수 사용 관리자 2019.02.28 166
101 순수가상함수 사용 계산기 관리자 2019.02.27 214
100 순수가상함수 사용한 여러 도형의 넓이 구하기 관리자 2019.02.27 199
99 순수 가상함수 관리자 2019.02.27 163
98 가상소멸자 관리자 2019.02.27 149
97 가상함수 사용3 관리자 2019.02.27 155
96 가상함수의 사용2 관리자 2019.02.26 168
95 가상함수 사용1 관리자 2019.02.26 156
94 사각형정보 입력받아 파일에 출력하기 관리자 2019.02.26 220
93 파일 복사 관리자 2019.02.26 161
92 파일 출력 관리자 2019.02.26 154
91 조작자 생성2 관리자 2019.02.26 152
90 조작자 생성1 관리자 2019.02.25 154
89 입출력연산자 중복 관리자 2019.02.25 152
88 일반 출력설정 관리자 2019.02.25 154
87 조작자를 통한 출력 설정 관리자 2019.02.25 167
86 연산자 중복 - 차집합구하기 관리자 2019.02.25 281
» 연산자 중복-교집합과 합집합 구하기 관리자 2019.02.25 198
84 연산자 중복-스트림연산자 관리자 2019.02.21 161
83 연산자 중복-치환연산자 관리자 2019.02.20 294
82 연산자 중복-friend함수 사용 관리자 2019.02.20 159
81 연산자 중복-단항연산자 관리자 2019.02.20 209
80 연산자 중복-관계연산자 관리자 2019.02.20 153
79 연산자 중복-이항연산자 관리자 2019.02.20 178
78 함수 중복 이용한 숫자 차 계산 관리자 2019.02.19 164
77 함수 포인터와 함수 중복 관리자 2019.02.19 204
위로