C++ 将派生类传递给定义为接受基类参数的函数
如果我有一个基类和一个派生类,例如:C++ 将派生类传递给定义为接受基类参数的函数,c++,C++,如果我有一个基类和一个派生类,例如: class Base { protected: int a; public: void setA(int); void getA(int); } class Derived : public Base { private: int b; public: void doThing(); } 然后是使用基类的第三个附加类: class OtherClass { public: Base doClassThing(Base*, B
class Base {
protected:
int a;
public:
void setA(int);
void getA(int);
}
class Derived : public Base {
private:
int b;
public:
void doThing();
}
然后是使用基类的第三个附加类:
class OtherClass {
public:
Base doClassThing(Base*, Base*);
}
将派生类传递给定义为返回基类并将基类作为参数的函数的最佳方式是什么。像这样:
Derived *x = new Derived();
Derived *y = new Derived();
doClassThing(x, y);
我会用类型转换传递对象吗?或者我应该在第一次创建对象时键入cast吗?来回答您的两个问题:
- 您不会在首次创建对象时对其进行强制转换
- 呼叫时不需要强制转换;您不需要修改问题中的代码