游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2194|回复: 5

继承error

[复制链接]

17

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2007-5-30 20:45:00 | 显示全部楼层 |阅读模式
Hello,


  1. class Employee
  2. {

  3. public:
  4.         Employee(void);
  5.         ~Employee(void);
  6.         void print() const;
  7.         string first_name;
  8.         string last_name;
  9. };

  10. class Manager : public Employee
  11. {
  12. public:
  13.         Manager(void);
  14.         //Manager(string first, string last);
  15.         ~Manager(void);
  16.         short level;
  17. };
  18. Manager::Manager(string first, string last) : first_name(first), last_name(last)
  19. {

  20. }
复制代码

难道继承类的构造函数中,不能对继承下来的成员变量进行这样的赋值吗?

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2007-5-30 22:28:00 | 显示全部楼层

Re:继承error

Employee(void);

会被调用, 怎么了?

8

主题

390

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
发表于 2007-5-31 08:23:00 | 显示全部楼层

Re:继承error

first_name, last_name 又不是Manager的成员,没有资格去初始化,所以,编译不过。

17

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
 楼主| 发表于 2007-5-31 16:28:00 | 显示全部楼层

Re: Re:继承error

ReallyBigBug: Re:继承error

first_name, last_name 又不是Manager的成员,没有资格去初始化,所以,编译不过。

但是Manager不是继承Employee吗?

8

主题

390

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
发表于 2007-5-31 16:44:00 | 显示全部楼层

Re:继承error

类的构造顺序是先基类,再往继续类走,在构造Manager时,基类成员已经构造完毕,在进行构造肯定错误,但是可以进行赋值等操作,只是不能进行构造,构造函数必定只执行一次。

103

主题

1432

帖子

1458

积分

金牌会员

Rank: 6Rank: 6

积分
1458
QQ
发表于 2007-5-31 22:02:00 | 显示全部楼层

Re:继承error

楼主还很会找麻烦呢.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 06:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表