64,646
社区成员
发帖
与我相关
我的任务
分享
#include<iostream.h>
class island
{
public:
void headline(void)
{
cout<<"!!welcome to Island!! \n";
}
virtual void type(void)=0;
};
class type_1:class island
{
public:
void type(void)
{
cout<<"type_1 \n";
}
};
class type_2:class island
{
public:
void type(void)
{
cout<<"type_2 \n";
}
};
main(void)
{
island *ptr;
type_1 t_1;
type_2 t_2;
ptr->headline();
ptr=&type_1;
ptr->type();
ptr=&type_2;
ptr->type();
return(0);
}
#include<iostream>
using namespace std;
class island
{
public:
void headline(void)
{
cout<<"!!welcome to Island!! \n";
}
virtual void type(void)=0;
};
class type_1:public island//public继承时类型才可以显示多态性,你不写这个public,默认private继承
{
public:
void type(void)
{
cout<<"type_1 \n";
}
};
class type_2: public island//public继承时类型才可以显示多态性,你不写这个public,默认private继承
{
public:
void type(void)
{
cout<<"type_2 \n";
}
};
int main(void)
{
island *ptr;
type_1 t_1;
type_2 t_2;
ptr=&t_1;
ptr->headline();//在使用这个函数之前,你得实例话它,则放在 ptr=&t_1;后面
ptr->type();//这样就可以清楚的看到多态性了
ptr=&t_2;
ptr->headline();//在使用这个函数之前,你得实例话它,则放在 ptr=&t_2;后面
ptr->type(); //这样就可以清楚的看到多态性了
system("pause");
return(0);
}
#include<iostream.h>
class island
{
public:
void headline(void)
{
cout<<"!!welcome to Island!! \n";
}
virtual void type(void)=0;
};
class type_1:public island
{
public:
void type(void)
{
cout<<"type_1 \n";
}
};
class type_2:public island
{
public:
void type(void)
{
cout<<"type_2 \n";
}
};
main(void)
{
island *ptr;
type_1 t_1;
type_2 t_2;
ptr->headline();
ptr=&t_1;
ptr->type();
ptr=&t_2;
ptr->type();
return(0);
}
#include<iostream>
using namespace std;
class island
{
public:
void headline(void)
{
cout<<"!!welcome to Island!! \n";
}
virtual void type(void)=0;
};
class type_1:public island//
{
public:
void type(void)
{
cout<<"type_1 \n";
}
};
class type_2:public island//
{
public:
void type(void)
{
cout<<"type_2 \n";
}
};
int main(void)
{
island *ptr=NULL;//
type_1 t_1;
type_2 t_2;
ptr->headline();
ptr=&t_1;//
ptr->type();
ptr=&t_2;//
ptr->type();
return 0 ;
}
基类指针指向派生类对象时,如果基类的函数为虚函数,如virtual void type(void)=0;则基类指针island *ptr;
调用type的时候看的是地址,如果基类函数不是虚函数,咋基类指针调用函数的时候看的是指针的类型来区分调用哪个