首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

学习虚函数跟指针

2012-11-04 
学习虚函数和指针开始学习C++ c#了,还是稍稍整理下,不然我脑袋就一直处于睡眠状态!多态关键之处就是一切用

学习虚函数和指针
开始学习C++ c#了,还是稍稍整理下,不然我脑袋就一直处于睡眠状态!

多态关键之处就是一切用指向基类的指针或引用来操作子对象
java没有指针,多态就是子类继承父类,父对象根据赋给它的子对象响应子对象的特性。
java可以通过实现接口,继承,实现多态
C++中,可以通过虚函数(目前我就知道这个)实现多态

class A{
public:
void fun(){ cout<<”fun A”<<endl;}
};
class B:public A{
public:
void fun(){ cout<<”fun B”<<endl;}
};
int main(){  
A a;
B b;
a.fun();
b.fun();
}
分别输出:fun A,fun B
结论:自己的对象指向自己的方法

fun A,fun B
int main2(){  
A a;
B b;
A* p1=&a;
A* p2=&b;
p1->fun();
p2->fun();
}
分别输出:fun A,fun A
结论:p1 p2都是同一个指针类型,指向的fun函数都是A的fun
class A{
public:
virtual void fun(){ cout<<”fun A”<<endl;}  //虚函数
};
class B:public A{
public:
void fun(){ cout<<”fun B”<<endl;} 
};
分别输出:fun A,fun B
至于为啥要输出fun A,fun B可以参考虚函数的互动百科

纯虚函数
class A{
public:
virtual void fun();
};
相当于java中的abstract

热点排行