Chinaunix首页 | 论坛 | 博客
  • 博客访问: 49661
  • 博文数量: 12
  • 博客积分: 291
  • 博客等级: 二等列兵
  • 技术积分: 147
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-15 14:25
文章分类

全部博文(12)

文章存档

2011年(12)

我的朋友

分类: C/C++

2011-10-10 21:33:23

如果一个基类的构造函数带有参数,那么如何编写该基类的派生类呢?

  1. #include<tchar.h>
  2. #include<iostream>
  3. using namespace std;

  4. class Person
  5. {
  6. public:
  7.     Person(int nAge)
  8.     {
  9.         m_nAge = nAge;
  10.     }

  11. protected:
  12.     int m_nAge;
  13. };

  14. class Men: public Person
  15. {
  16. public:
  17.     Men(int nMenAge, int nMenWeight):Person(nMenAge)
  18.     {
  19.         m_nWeight = nMenWeight;
  20.     }

  21.     void Print()
  22.     {
  23.         cout << _T("年龄为") << m_nAge << endl;
  24.         cout << _T("体重为") << m_nWeight << endl;
  25.     }

  26. private:
  27.     int m_nWeight;
  28. };

  29. int _tmain(int argc, TCHAR argv[], TCHAR envp[])
  30. {
  31.     Men Mike(21, 150);
  32.     Mike.Print();
  33.     return 0;
  34. }
上述代码的执行结果如下:


上述代码中,我们可以看到,Person类的构造函数是带有参数的,Men类从Person类
共有派生,这就需要在Men类的构造函数名后面显示的调用Person类的构造函数。
阅读(4239) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~