zoukankan      html  css  js  c++  java
  • C++走向远洋——52(十三周阅读程序)

    */
     * Copyright (c) 2016,烟台大学计算机与控制工程学院
     * All rights reserved.
     * 文件名:text.cpp
     * 作者:常轩
     * 微信公众号:Worldhello
     * 完成日期:2016年5月22日
     * 版本号:V1.0
     * 问题描述:十二周阅读程序
     * 程序输入:无
     * 程序输出:见运行结果
     */
    //(1)虚函数
    #include<iostream>  
    using namespace std;  
    class A {  
    int a;  
    public:  
       A():a(5){}  
       virtual void print()const { cout<<a;}  
    };  
    class B: public A {  
       char b;  
    public:  
        B() { b='E'; }  
        void print() const { cout<<b; }  
    };  
    void show(A &x) { x.print(); }  
    int main()  
    {  
       A d1,*p;  
       B d2;  
       p=&d2;  
       d1.print();  
       d2.print();  
       p->print();  
       show(d1);  
       show(d2); 
       cout<<endl; 
       return 0;  
    }  


    运行结果:


    //(2)虚析构函数
    
    #include <iostream>  
    using namespace std;  
    class BASE  
    {  
    private:  
        char c;  
    public:  
        BASE(char n):c(n) {}  
        virtual ~BASE() { cout<<c; }  
    };  
    class DERIVED:public BASE  
    {  
    private:  
        char c;  
    public:  
        DERIVED(char n):BASE(n+1),c(n) {}  
        ~DERIVED(){ cout<<c; }  
    };  
    int main(){  
        DERIVED d('X'); 
    	
        return 0;  
    }    

    运行结果:


    //(3)纯虚函数
    #include <iostream>  
    using namespace std;  
    class Base  
    {  
    public:  
        virtual void Who() =0;  
    };  
    class FirstDerived:public Base  
    {  
    public:  
        void Who() { cout<<"F"; }  
    };  
    class SecondDerived:public Base  
    {  
    public:  
        void Who() { cout<<"S"; }  
    };  
    int main()  
    {  
        FirstDerived first_obj;  
        SecondDerived second_obj;  
        Base &bref=first_obj;  
        bref.Who();  
        bref=second_obj;  
        bref.Who();  
        Base *bp;  
        bp=&first_obj;  
        bp->Who();  
        bp=&second_obj;  
        bp->Who();  
        return 0;  
    }  

    运行结果:



  • 相关阅读:
    c#发送邮件.net1.1和.net2.0中的两个方法
    六步使用ICallbackEventHandler实现无刷新回调
    报表项目总结
    转载:Tomcat Port 8009 与AJP13协议
    JUnit4 使用指南二 (熟练掌握)
    JUnit4 使用指南一 (简单上手)
    HP的项目中曾做一个业务日志系统
    Unitils使用(转载)
    iBatis 学习
    JUnit4 使用指南三 (Runner 特性分析)
  • 原文地址:https://www.cnblogs.com/chxuan/p/8232204.html
Copyright © 2011-2022 走看看