⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 612.cpp

📁 C++实训教程
💻 CPP
字号:
/*
	612.CPP
	demo 继承的技术
	Written by Feng
class
	P(Point)
		E(Ellipse)
			C(Circle)   
*/
#include <iostream.h>
class P
{
	private:
		 int x,y;
	public:
		P(int a=0,int b=0) : x(a), y(b) {}
	  	int GetX(){ return x;}
		int GetY(){ return y;}
};

class E : public P  //Ellipse
{
	private:
		int len1,len2; //long oce and short oce
	public:
		E(int o1, int o2, int a=0,int b=0)
		:P(a,b){len1=o1;len2=o2;}
		E(P o,int a,int b):P(o.GetX(),o.GetY() ) 			//must use P::P(),else cannot access x,y
	  { 	len1=a; len2=b;		}
		E(P o):P(o.GetX(),o.GetY() ) 			//must use P::P(),else cannot access x,y
	  { 	len1=100; len2=200;		}
		int GetL1(){ return len1;}
		int GetL2(){ return len2;}
};

class C: public E  //circle
{
	private:
		void GetL1(){}  //! 'delete' the class E member
		void GetL2(){}
	public:
		C(int r,int a,int b):E(r,r,a,b){}
	  int GetR(){ return E::GetL1() ; }
};

main(void)
{
   P p(-1,-1),  *pP;
	E e(10,12,4) ;
	C c(5, 7,9), *pC;
   //c.GetL1();-->is not accessible
   cout << "Ellipse X = " << e.GetX()  << " ;Y=" << e.GetY()
		  << ";L1=" << e.GetL1()		 << ";L2=" << e.GetL2() << endl;
	cout << "Circle  X = " << c.GetX()  << " ;Y=" << c.GetY()
				 << ";R =" << c.GetR()  	<<  endl;
	p = c;  //circle -> point
	cout << "Point X = " <<  p.GetX()   << " ;Y=" << p.GetY() << endl;
		// << ";R="<< p.GetR() //not a member !!!

	e = p;	  // only if defined  E::E(p)
	cout << "Ellipse X = " << e.GetX()	 << " ;Y=" << e.GetY()
		  << ";L1=" << e.GetL1()		 << ";L2=" << e.GetL2() 	 << endl;
	pP = &e;
	cout << "Point X = " << pP->GetX()	<< " ;Y=" << pP->GetY() 	<< endl;
		//<< ";L1="<< e.GetL1()   		// not a member

	//pC = &p; //cannot convert
	pC = (C *)&p; //ok
	cout << "Point X = " << pC->GetX()   << " ;Y=" << pC->GetY()
			   << ";R="  << pC->GetR()	 << endl;
	return 0;

}
/*
Ellipse X = 4 ;Y=0;L1=10;L2=12
Circle  X = 7 ;Y=9;R =5
Point X = 7 ;Y=9
Ellipse X = 7 ;Y=9;L1=100;L2=200
Point X = 7 ;Y=9
Point X = 7 ;Y=9;R=6618672

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -