c++ - 使用多态赋值

标签 c++

我对 C++ 编程还很陌生,并试图理解这种多态赋值的事情。我已经在线研究并看到了多个示例,但唯一有意义的是跟踪具有父类和派生类的非多态内存占用。如果你有一个父类然后有多个派生类怎么办?如何使用基类指针类型变量的多态赋值调用父类中的方法。因此,使用该方法生成父类和派生类的输出。我所要求的只是为了清楚起见,就像您应该在书中找到的那样,这样我才能理解这个概念。然后我将创建自己的测试用例。感谢您的帮助!

最佳答案

#include<iostream>
using namespace std;

class base
{
public:

    int baseVariable;
    base(int arg=0):baseVariable(arg) {}
    virtual void print()=0;
};

class derivedOne:public base
{
public:
    derivedOne(int arg=0):base(arg){}

     void print()
     {
         cout<<"Printing with derivedOne's print function.baseVarible = "<< base::baseVariable<<endl;
     }
};

class derivedTwo:public base
{
public:

    derivedTwo(int arg=0):base(arg){};
    void print()
    {
         cout<<"Printing with derivedTwo's print function.baseVarible = "<< base::baseVariable<<endl;
    }
};

int main()
{
    base *obj1=new derivedOne(5);
    base *obj2=new derivedTwo(7);

    obj1->print();
    obj2->print();
    return 0;
}

我想这就是您的要求。

关于c++ - 使用多态赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6968777/

相关文章:

C++ - 访问私有(private)嵌套迭代器

java - 在 ndk{} 中使用 moduleName 时如何设置 JNI 依赖?

php - Apache 不想在 FIFO(管道)中 fopen 或 fwrite

c++ - 使用 copy() 连接字符串

c++ - 排序和扫描对报告中的性能问题

c++ unordered_map 与 g++ 的编译问题

android - 无法在Eclipse中使用NDK生成APK文件

c++ - 在哪里创建 session 实例?

java - 在某些条件下最大化 GCD

c++ - 有没有特殊的方法可以从桌面上删除快捷方式?