📄 完美c++疑难解答-虚函数.txt
字号:
1.关键字...只在原型中出现...
2.多态:基类指针,基类的虚函数(可以实现,也可以不实现).不实现:怕派生类没有定义,指能掉用基类,但是没实现.. 所以什么也干不了。虚函数
//Show(): 显示日期--class Day ; 显示时间 class Time
#include "stdafx.h"
class Day
{
public:
Day(int year,int month,int day);
virtual void ShowDayTime();//派生类
// void ShowDayTime();//调用本类
public:
int m_year,m_month,m_day;
};
Day::Day(int year,int month,int day)
{
m_year=year;
m_month=month;
m_day=day;
}
void Day::ShowDayTime()
{
cout<<"日期:"<<m_year<<"-"<<m_month<<"-"<<m_day<<endl;
}
class Time:public Day
{
public:
Time(int hour,int min,int second,int year,int month,int day):Day(year,month,day)
{
m_hour=hour;
m_min=min;
m_second=second;
}
void ShowDayTime();
private:
int m_hour,m_min,m_second;
};
void Time::ShowDayTime()
{
cout<<"时间:"<<m_hour<<"-"<<m_min<<"-"<<m_second<<endl;
}
void main()
{
Day *day;
Time time(16,47,56,2007,11,9);
day=&time;
day->ShowDayTime();//结果日期:2007-11-9
//如果偶想要日期
//time.ShowDayTime();
}
2.虚构函数...
纯函数:基类中没有定义的虚函数。逻辑不能基类定义有意义的函数...如果基类没实现...派生类一定要实现...
#include "stdafx.h"
class Day
{
public:
virtual ~Day();
};
Day::~Day()
{
cout<<"基类调用的西够...哈哈..."<<endl;
}
class Time:public Day
{
public:
~Time();
};
Time::~Time()
{
cout<<"派生类调用的...."<<endl;
}
void main()
{
Time time;
}
派生类继承西构函数...但是不能...
#include "stdafx.h"
class Day
{
public:
virtual void show()=0;
virtual ~Day();
};
Day::~Day()
{
cout<<"基类调用的西够...哈哈..."<<endl;
}
class Time:public Day
{
public:
~Time();
virtual void show();
};
void Time::show()
{
cout<<"我云"<<endl;
}
Time::~Time()
{
cout<<"派生类调用的...."<<endl;
}
void main()
{
Time time;
time.show();
// Day day;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -