게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C++ 이거 오버라이딩 제대로 한게 맞나요
게시물ID : computer_64583짧은주소 복사하기
작성자 : 엘엔에스
추천 : 0
조회수 : 396회
댓글수 : 11개
등록시간 : 2012/11/08 06:50:38

#include <iostream>

using namespace std;

class calc{

protected:

int a;

int b;

int c;

public:

calc();

calc(int new_a, int new_b);

void run();

void prn();

};


calc :: calc()

{

a=0;

b=0;

}


calc :: calc(int new_a, int new_b)

{

a=new_a;

b=new_b;

}


void calc :: run()

{

}


void calc :: prn()

{

cout<<a<<"\t"<<b<<endl;

}


class add : public calc{


public:

add();

add(int new_a, int new_b);

void run();

void prn();

};


add::add() : calc()

{

}


add::add(int new_a, int new_b) : calc (new_a, new_b)

{

a=new_a;

b=new_b;

c=0;

}


void add :: run()

{

c=a+b;

}


void add::prn()

{

cout<<a<<" + "<<b<<" = " <<c<<endl;

}


class mul : public calc{

public :

mul();

mul(int new_a, int new_b);

void run();

void prn();

};


mul::mul()

{

}


mul :: mul(int new_a,int new_b) : calc (new_a,new_b)

{

a=new_a;

b=new_b;

    c=0;

}


void mul::run()

{

c=a*b;

}


void mul::prn()

{

cout<<a<<" * "<<b<< " = " <<c<<endl;

}


class sub : public calc{


public :

sub();

sub(int new_a, int new_b);

void run();

void prn();

};


sub :: sub()

{

}


sub :: sub(int new_a, int new_b)

{

a= new_a;

b= new_b;

c=0;

}


void sub :: run()

{

c=a-b;

}


void sub::prn()

{

cout<<a<<" - "<<b<< " = " <<c<<endl;

}


void main()

{

calc x(3,5);

x.run();

    x.prn();

add y(3,5);

y.run();

y.prn();

mul z(3,5);

z.run();

z.prn();

sub s(3,5);

s.run();

s.prn();

}



run함수와 prn함수를 오버라이딩한건데

친구가 이게 오버라이딩이 아니래서여..

'-';;

오버라이딩 제대로한건가요??

그리고 개선해야할 점 보이면 고쳐주세요~~

꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호