zoukankan      html  css  js  c++  java
  • 类的继承和虚函数

    #include <iostream.h>
    
    class A 
    { 
    public:
    	virtual void print(void) 
    	{ 
    		cout<<"A::print()"<<endl; 
    	} 
    };
    class B:public A 
    { 
    public:
    	virtual void print(void) 
    	{ 
    		cout<<"B::print()"<<endl;
    	}; 
    }; 
    class C:public B
    {
    public:
    	virtual void print(void)
    	{
    		cout<<"C::print()"<<endl;
    	}
    };
    void print(A a) 
    { 
    	a.print(); 
    } 
    void main(void) 
    { 
    	A a, *pa,*pb,*pc; 
    	B b; 
    	C c; 
    	
    	pa=&a; 
    	pb=&b; 
    	pc=&c; 
    	
    	a.print(); 
    	b.print(); 
    	c.print(); 
    	
    	pa->print(); 
    	pb->print(); 
    	pc->print(); 
    	
    	print(a); 
    	print(b); 
    	print(c); 
    }
    
    //总结:
    /*子类继承父类,父类的虚函数被子类的所重写。
    基类对象调用它的函数,执行基类的函数。子类对象调用它的函数(重载父类的),执行子类的函数。
    一个基类指针,指向基类对象,通过指针调用函数,执行其基类自身的函数。一个基类指针,指向子类对象,通过指针调用函数,执行子类的函数。
    一个子类对象被传入形参类型为基类的函数中,所执行的函数,调用的是基类的函数。*/
  • 相关阅读:
    Java面试题3
    Git 命令
    Flutter 基础控件
    Flutter工程目录
    GitHub简介
    Android Studio 安装 Flutter
    Android 权限管理
    结构型模式-适配器模式
    结构型模式-外观模式
    结构型模式-组合模式
  • 原文地址:https://www.cnblogs.com/zhangdongsheng/p/1993307.html
Copyright © 2011-2022 走看看