类的问题求教...
r从s派生出来的,那下面的代码错在哪里哦void some(s);
s * p=new r;
some(*p);
#include <iostream.h> class yang { public: yang(); virtual ~yang(); yang(const yang&rhs); int getage()const{return age;} virtual yang* clone(){return new yang(*this);} void setage(int t){age=t;} virtual void say(){cout << "yang的say\n";} protected: int age; }; yang::yang(): age(41) { cout << "yang构造函数\n"; } yang::~yang() { cout << "yang析构函数\n"; } yang::yang(const yang&rhs) { age=rhs.getage(); cout << "yang复制函数\n"; } class lyl:public yang { public: lyl(); lyl(const yang& rhs); ~lyl(); yang* clone(){return new lyl(*this);} void say(){cout << "lyl的say\n";} }; lyl::~lyl() { cout << "ly的析构函数\n"; } lyl::lyl() { cout << "lyl的构造函数\n"; } lyl::lyl(const yang &rhs): yang(rhs) { cout << "lyl的复制函数\n"; } int main() { lyl *p=new lyl; yang *q=new yang; p->say(); q=p->clone(); return 0; }用这个虚复制构造函数是不是可以解决上面的这个问题哟?