zoukankan      html  css  js  c++  java
  • 虚函数,继承之类的问题

    #include "stdio.h"
    #include "string.h"


    class Father
    {
    public:
    name()
    {printf("father name ");};

    virtual call()
    {printf("father call ");};

    };

    class Son: public Father
    {
    public:
    name()
    {printf("Son name ");};

    virtual call()
    {printf("Son call ");};

    };

    main()
    {

    Son *Son1=new Son();
    Father *father1=(Father *)Son1;

    father1->call();
    father1->name();

    ((Son *)(father1))->call();
    ((Son *)(father1))->name();


    Father *f2=new Father();
    Son *s2=(Son*)f2;
    s2->call();
    s2->name();

    ((Father *)(s2))->call();
    ((Father *)(s2))->name();
    }
    //虚函数与指针的类型有关(指针是什么类型就调用哪个类型的类的对应函数)
    //非虚函数的指向与指向的地址有关,而不是与指针类型相关(对于非虚函数,无论指针是什么类型,函数调用时只调用指针指向的地址(指向的对象的类型),与该指针是什么类型无关)

  • 相关阅读:
    C++ 算法03算法设计的常用思想
    C++ 算法02算法设计的基础
    C++ 算法01
    字符串Hash入门
    CSP2020总结
    关于树状数组的应用
    Cookies题解
    博客迁移
    斜率优化(转载)
    单调队列优化和决策单调性优化
  • 原文地址:https://www.cnblogs.com/iamdanger/p/3384062.html
Copyright © 2011-2022 走看看