📄 multiform.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 + -