基类-子类的调用

上一篇 / 下一篇  2007-11-27 15:31:35 / 个人分类:c++

子类 调用 基类的成员函数 很简单 d->Base::func();即可...

如果子类当中没有 func(), 那么d->func()默认为子类当中func()..

基类 调用 子类成员函数 ...即:多态(后续..)

 

实例:

// Base TO Derived.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;
////
class Base
{
public:
 void func()
 {
  cout << "Base.func()" <<endl;
 }
};
////
class Derived:public Base
{
public:
 void func()
 {
  cout <<"Derived:func()"<<endl;
 }
 void self_func()
 {
  cout <<"Derived.self_func()"<<endl;
 }
};
////main()
int _tmain(int argc, _TCHAR* argv[])
{
 Base *b = new Derived();//new 一个 Derived的元素 , 并且赋值给 Base类型指针..多态

 b->func();//注意: 在写下b->时,自动出现func供选择,编译器自动寻找Base中的成员
//b->self_func();

  Derived *d = (Derived *)b;//Base TO Derived...
 d->self_func();                    //之所以成功,因为Derived是public继承Base,
                                               //Derived当中含有Base成员
 d->Base::func();
 d->func();
 
 delete b;     

 getchar();
 return 0;
}

 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar