首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

继承中构造函数

2013-07-01 
继承中构造函数求助本帖最后由 xdthw 于 2013-05-22 17:47:56 编辑class Employee{public:Employee()}cl

继承中构造函数求助
本帖最后由 xdthw 于 2013-05-22 17:47:56 编辑

class Employee{
public:
Employee();
};
class Manager : public Employee
{
public:
Manager();


};

上面的初始化画出问题了二下面的为什么可以
class Employee{
public:
Employee(){cout<<"hello";};
};
class Manager : public Employee
{
public:
Manager(){cout<<"hello";};


};

求大神给解答一下
[解决办法]
估计是你在其他代码中有Manager mgr; 或者是 new Manager()之类的代码吧?这时链接器链接的时候就会出错。
因为Manager构造函数会先调用基类也就是Employee的构造函数,但是Employee的构造函数没有实现,所以会出错啊。

引用:
Quote: 引用:

都多一个大括号;
前面那个Employee没有实现,链接错误。
能说详细点吗?链接错误是什么?

[解决办法]
第一个你的构造函数只声明了。。还没有定义。。你在后边加个大括号就可以了。。
[解决办法]
那只是声明,有函数体(一对大括号)的才是定义
引用:
Quote: 引用:

估计是你在其他代码中有Manager mgr; 或者是 new Manager()之类的代码吧?这时链接器链接的时候就会出错。
因为Manager构造函数会先调用基类也就是Employee的构造函数,但是Employee的构造函数没有实现,所以会出错啊。

Quote: 引用:

Quote: 引用:

都多一个大括号;
前面那个Employee没有实现,链接错误。
能说详细点吗?链接错误是什么?
嗯,我是用new来生成一个Manager类的,但是在基类中不是有Employee();吗,这个不算构造函数?

[解决办法]
class Employee{
public:
    Employee(){};
};
class Manager : public Employee
{   
public:
    Manager(){};
 
     
};
[解决办法]
链接器link不到 

热点排行