c++ 虚函数 多态性 (一)
2014-02-19 09:15
176 查看
#include <iostream>
using namespace std;
class A
{
public:
void foo () {
printf ("1\n");
}
virtual void fun () {
printf ("2\n");
}
};
class B
: public A
{
public:
void foo () {
printf ("3\n");
}
virtual void fun () {
printf ("4\n");
}
};
void main ()
{
A a;
B b;
A* pa = &a;
pa->foo (); // 1
pa->fun (); // 2
pa = &b;
pa->foo (); // 1
pa->fun (); // 4
B* pb = (B*)&a; // ps:不强制转换会报错
pb->foo (); // 3
pb->fun (); // 2
pb = &b;
pb->foo (); // 3
pb->fun (); // 4
getchar ();
}
using namespace std;
class A
{
public:
void foo () {
printf ("1\n");
}
virtual void fun () {
printf ("2\n");
}
};
class B
: public A
{
public:
void foo () {
printf ("3\n");
}
virtual void fun () {
printf ("4\n");
}
};
void main ()
{
A a;
B b;
A* pa = &a;
pa->foo (); // 1
pa->fun (); // 2
pa = &b;
pa->foo (); // 1
pa->fun (); // 4
B* pb = (B*)&a; // ps:不强制转换会报错
pb->foo (); // 3
pb->fun (); // 2
pb = &b;
pb->foo (); // 3
pb->fun (); // 4
getchar ();
}
相关文章推荐
- c++ 虚函数和多态性
- C++之多态性与虚函数
- C++之多态性与虚函数
- C++虚函数多态性的实现与分析+虚继承的实现与分析
- 【C++程序设计】-多态性和虚函数
- C++第十三周【任务1】开车学习虚函数、多态性和抽象类的应用
- C/C++学习----第三章 多态性和虚函数
- C++程序设计学习之『多态性与虚函数』
- C++多态性和虚函数
- c++基础10:继承和派生 虚函数的作用 多态性概念 纯虚函数和抽象类的概念
- C++是如何利用虚函数实现多态性的?
- C/C++——多态性和虚函数
- C/C++学习----第三章 多态性和虚函数
- c++ 继承 虚函数与多态性 重载 覆盖 隐藏
- C++之多态性与虚函数
- C++之多态性与虚函数
- 谭浩强版C++实例 第六章 多态性与虚函数(4个)
- C/C++学习(1)面向对象的多态性问题、虚函数调用
- C++ 多态性 -- 虚函数、纯虚函数
- 一个C++继承、虚函数和多态性的实例代码