小编Mih*_*hai的帖子

C++ - 向上转换和向下转换

在我的例子中:

在向上看,第二次d.print()打电话不应打印"基地"吗?

是不是"d"派生对象上传到基类对象?

在低迷时期,它有什么优势?

你能用实际的方式解释上传和下传吗?

#include <iostream>
using namespace std;

class Base {
public:
    void print() { cout << "base" << endl; }
};

class Derived :public Base{
public:
    void print() { cout << "derived" << endl; }

};

void main()
{
    // Upcasting
    Base *pBase;
    Derived d;
    d.print();
    pBase = &d;
    d.print();

    // Downcasting
    Derived *pDerived;
    Base *b;
    pDerived = (Derived*)b;
}
Run Code Online (Sandbox Code Playgroud)

c++ inheritance class downcast upcasting

1
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×1

class ×1

downcast ×1

inheritance ×1

upcasting ×1