+ -
当前位置:首页 → 问答吧 → 请问怎样继承子类的拷贝构造函数? 下边有问号的地方

请问怎样继承子类的拷贝构造函数? 下边有问号的地方

时间:2011-12-02

来源:互联网

#include <iostream.h>
#include <string.h>
class Student
{
public:
Student(char *pname="no name")
{
strcpy(name,pname);
cout<<"I am a student.."<<endl;
}
void Tex()
{
cout<<"turn in money.."<<endl;
}

Student(Student &aa) //怎样让下边的Teacher类继承这里Student类的拷贝构造函数??????????
{
cout<<"gouzaohanshu.."<<endl;
}
protected:
char name[45];
};

class Teacher:public Student //继承Student类
{
public:
Teacher(int x)
{
a=x;
cout<<"The teacher no is "<<a<<endl;
}
void Ha()
{
cout<<"halou..."<<endl;
}
protected:
int a;
};

int main()
{
Teacher ss(250);
// ss.Student::Student();
ss.Tex();
ss.Ha();
return 0;
}

作者: ssstet123   发布时间: 2011-12-02

C/C++ code

Teacher(const Teacher &orig):student(orig){}

作者: qscool1987   发布时间: 2011-12-02


在派生类构造函数的初始化列表中调用

作者: sryan   发布时间: 2011-12-02

构造、析构及有些运算符重载是不能被继承的

作者: tankles   发布时间: 2011-12-02

能具体写出过程吗?

作者: ssstet123   发布时间: 2011-12-02

复制构造函数不能被继承,可以在子类的初始化列表中使用父类的赋值构造函数:
C/C++ code

Teacher(const Teacher &orig):student(orig),a(orig.a){}

作者: xingfeng2510   发布时间: 2011-12-02