Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[6908] Re:c++ 생성자 질문올려봅니다...
aaaa [] 1716 읽음    2014-11-13 19:54
바이링 님이 쓰신 글 :
: 클래스 power, power1, power2 이 세가지 클래스를 하나의 power이라는 클래스로 합치는 방법을 알고싶습니다..ㅠㅠ
: 저 혼자 합쳐보려고 했는데요; 클래스 power 클래스 하나로는 세개의 생성자가 한번에 넣으면 에러가 뜨더라구요..ㅠㅠ
: power은 이항연산자이구요 power1은 단항연산자이구 power2는 프렌드 연산자에요 세개 클래스가 아닌 하나의 power이라는 클래스에 세개의 클래스의 생성자를 모두 한번에 합쳐서 넣을수 있는 방법 알려주세요 !!!!!!!!
:
: class power{ 
:     int xxx, yyy;
: public:
:     power() { xxx=yyy=0;}
:     power(int xx, int yy) {xxx=xx, yyy=yy;}
:     void get_xxyy(int &xx, int&yy) { xx= xxx; yy= yyy;}
:     power operator + (power pp);
: };
:
: power power::operator +(power pp)
: {
:     power ttt;
:     ttt.xxx = xxx + pp.xxx;
:     ttt.yyy = yyy + pp.yyy;
:     return ttt;
: }
:
: class power1{
:     int zzz;
: public:
:     power1(int nnn) { zzz= nnn;}
:     power1() { zzz = 0;}
:     int val(){return zzz; }
:     void operator ++() {++zzz;}
:     void operator --() {--zzz;}
: };
:
: class power2{
:     double re1, re2;
: public:
:     power2(double rr, double ee) { re1=rr; re2=ee;}
:     power2() { re1 = 0; re2 = 0;}
:     friend power2 operator +(power2, power2);
:     friend power2 operator -(power2, power2);
:     void operator()();
: };
:
: power2 operator +(power2 g1, power2 g2)
: {
:     power2 ttmmpp;
:
:     ttmmpp.re1 = g1.re1 + g2.re1;
:     ttmmpp.re2 = g1.re2 + g2.re2;
:     return ttmmpp;
: }
:
: power2 operator -(power2 g1, power2 g2)
: {
:     power2 ttmmpp;
:
:     ttmmpp.re1 = g1.re1 - g2.re1;
:     ttmmpp.re2 = g1.re2 - g2.re2;
:     return ttmmpp;
: }
:
: void power2::operator ()()
: {
: cout << re1 << re2 << endl;
: };
:

상속을 해버리면 안되요?

 class power{  
 	int xxx, yyy;
 public:
 	power() { xxx=yyy=0;}
 	power(int xx, int yy) {xxx=xx, yyy=yy;}
 	void get_xxyy(int &xx, int&yy) { xx= xxx; yy= yyy;}
 	power operator + (power pp);
 };
 
 power power::operator +(power pp)
{
 	power ttt;
 	ttt.xxx = xxx + pp.xxx;
 	ttt.yyy = yyy + pp.yyy;
 	return ttt;
 }
 
 class power1 : public power{ //여기처럼 1차상속
 	int zzz;
 public:
 	power1(int nnn) { zzz= nnn;}
 	power1() { zzz = 0;}
 	int val(){return zzz; }
 	void operator ++() {++zzz;}
 	void operator --() {--zzz;}
 };
 
 class power2 : public power1{ << //여기처럼 2차상속
 	double re1, re2;
 public:
 	power2(double rr, double ee) { re1=rr; re2=ee;}
 	power2() { re1 = 0; re2 = 0;}
 	friend power2 operator +(power2, power2);
 	friend power2 operator -(power2, power2);
 	void operator()();
 };
 
 power2 operator +(power2 g1, power2 g2)
 {
 	power2 ttmmpp;
 
 	ttmmpp.re1 = g1.re1 + g2.re1;
 	ttmmpp.re2 = g1.re2 + g2.re2;
 	return ttmmpp;
 }
 
 power2 operator -(power2 g1, power2 g2)
 {
 	power2 ttmmpp;
 
 	ttmmpp.re1 = g1.re1 - g2.re1;
 	ttmmpp.re2 = g1.re2 - g2.re2;
 	return ttmmpp;
 }
 
 void power2::operator ()()
 {
 cout << re1 << re2 << endl;
 };

power2  가 마지막상속받은 클래스이고 public 부분은 오픈되어있으나
함수사용은 용이할거구요 머 클래스생성할때 메소드나 설정하면 될거같은데요
3개의클래스를 하나로 만들어라 라고한다면 상속뿐이없을텐데요
아니면 클래스안에 종속시키는것도있고

+ -

관련 글 리스트
6907 c++ 생성자 질문올려봅니다... 바이링 1974 2014/11/13
6908     Re:c++ 생성자 질문올려봅니다... aaaa 1716 2014/11/13
6913         Re:Re:c++ 생성자 질문올려봅니다... 바이링 1709 2014/11/16
6917             Re:Re:Re:c++ 생성자 질문올려봅니다... ㅁㅁㅁㅁ 2077 2014/11/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.