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

📄 multiform.cpp

📁 是用c++的多态性写的时钟程序。可以用来作为多态性教学的例程
💻 CPP
字号:
#include<iostream.h>


class base 
{      //定义基类 base
  public:
    virtual void f( ) { cout << " base \n "; }   
};    //定义虚函数

class base1 
{   //定义基类 base1
  public:
    void f( ) { cout << " base1 \n "; }   
};           //定义一般函数

class derive: public base 
{   //定义base 的派生类
  public:
    void f( ) { cout << " derive \n "; }   
};          //重新定义虚函数

class bdderive: public derive 
{                                   //定义派生类derive的派生类 bdderive
  public:
    void f( ) { cout << " bdderive \n "; }   //重新定义虚函数
};   

class bbderive: public base, public base1
 {                                   //定义基类 base 和 base1的派生类
  public:
    void f( ) { cout << " bbderive \n "; }   
}; 

void main( ) 
{
     base b, *p;         //定义基类 base 的对象
     base1 *p1;         //定义基类 base1 的对象
     bdderive bd;     //定义派生类 bdderive 的对象
     bbderive bb;     //定义派生类 bbderive 的对象
     p=&b;
     p->f( );              //调base基类函数
     p=&bb;
     p->f( );              //调子类函数,多态性
     p1=&bb;
     p1->f( );            //调base1基类函数,无多态性

	 p= &bd;
	 p->f();
}




/*********************************************************************************/
/*
class Clock	
{
public:	
	Clock(int NewH=0, int NewM=0, int NewS=0);
	void ShowTime();
	void operator ++();         //成员函数重载前置单目运算符
	void operator ++(int);      //成员函数重载后置单目运算符
     friend void operator -- (Clock &); 
     //友元函数重载前置单目运算符
     friend void operator -- (Clock &,int); 
     //友元函数重载后置单目运算符
private:	
	int Hour, Minute, Second;
};

Clock::Clock(int NewH, int NewM, int NewS)
{ 
	Hour=NewH;
	Minute=NewM;
	Second=NewS;
}


void Clock::ShowTime()	
{	
	cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
}

void Clock::operator ++()	
{	
	Second++;
	if(Second>=60)
	{
		Second=Second-60;
		Minute++;
		if(Minute>=60)
		{
			Minute=Minute-60;
			Hour++;
			Hour=Hour%24;
		}
	}
}
void Clock::operator ++(int)
{  
	//函数实现同上
	Second++;
	if(Second>=60)
	{
		Second=Second-60;
		Minute++;
		if(Minute>=60)
		{
			Minute=Minute-60;
			Hour++;
			Hour=Hour%24;
		}
	}
}
void operator -- (Clock &ob)
{
       if(ob.Second ==0)
       {
           ob.Second=59;
           if(ob.Minute==0)
           {
               ob.Minute=59; 
               if(ob.Hour==0)
                   ob.Hour=23;
               else ob.Hour--;
            }
            else ob.Minute--;
        }
        else ob.Second--;
}       
void operator -- (Clock &ob,int)
{ 
	//函数实现同上 
	if(ob.Second ==0)
	{
		ob.Second=59;
		if(ob.Minute==0)
		{
			ob.Minute=59; 
			if(ob.Hour==0)
				ob.Hour=23;
			else ob.Hour--;
		}
		else ob.Minute--;
	}
	else ob.Second--;
}

void main()
{
	Clock myClock1(23,59,59),myClock2(0,0,0);
	myClock1.ShowTime();
	myClock1++;  
	myClock1.ShowTime();
	++myClock1;  
	myClock1.ShowTime();
     myClock2.ShowTime();
     myClock2--;
     myClock2 .ShowTime();
     --myClock2;   
     myClock2 .ShowTime();
  }
*/

⌨️ 快捷键说明

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