您的位置:首页 > 其它

关于派生类拷贝构造函数中使用基类私有类对象成员的问题

2014-05-16 11:14 246 查看
//定义类:Birthday
class Birthday
{
public:
Birthday(int y)
{
year = y;
}
private:
int year;
};

//定义类:Men
class Men
{
public:
Men(int y):bir(y)
{
}
private:
//声明类对象成员
Birthday bir;
};

//定义类:Teacher
class Teacher:public Men
{
//定义拷贝构造函数
Teacher(const Teacher &t):Men(t.bir.year)
{
}
};
大概就这样。想做Teacher的拷贝构造函数,会出的错误就是 t 引用的对象没有对 year 的使用权限。百度过,没有找到答案。想过把 Birthday 做成 Men 的基类,但是生日派生出人,这好像有点扭曲了。也想过把那个拷贝构造函数声明为 Birthday 的友元,可是也不对。我该怎么办?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐