将派生类的对象传递给基类

Passing object of derived class to base class

本文关键字:基类 对象 派生      更新时间:2023-10-16

嗨,我有一个派生类,我想将派生类对象的指针传递给基类。 我在运行代码时遇到分段错误。

#include <iostream>
using namespace std;
class A {
public:
virtual void x() = 0;
A* a;
};
class B: public A {
public:
B(A* x) {
a = x;
}
void x () {}
};
class C: public B {
public:
C() : B(new C) { } 
};
int main() {
C c;
return 0;
}

有人可以帮我建议一种方法来实现这一点或帮助我修复代码。

我相信你想传递一个指向当前对象的指针。这就是this的目的。

C() : B(this) { }