鱼C论坛

 找回密码
 立即注册
查看: 2930|回复: 1

小白求助 关于父类指针和子类指针的步长问题

[复制链接]
发表于 2020-4-10 19:50:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include "iostream"
  2. using std::endl;
  3. using std::cout;
  4. using std::cin;

  5. class Parent
  6. {
  7. private:
  8.         int a;
  9. public:
  10.         Parent(int a = 0)
  11.         {

  12.         }
  13. public:
  14.         virtual void print()
  15.         {
  16.                 cout << "我是父亲\n";
  17.         }
  18. };

  19. class Child :public Parent
  20. {
  21. private:
  22.         //int b;
  23. public:
  24.         Child(int b = 0) :Parent(11)
  25.         {

  26.         }
  27. public:
  28.         virtual void print()
  29.         {
  30.                 cout << "我是儿子\n";
  31.         }
  32. };

  33. void main()
  34. {
  35.         Child cArr[] = { Child(11),Child(22),Child(33) };//这cArr是三个匿名对象,cArr[0]  cArr[1]  cArr[2] 依次等于他们
  36.         Parent* pP = NULL;
  37.         Child* pC = NULL;

  38.         pP = cArr;
  39.         pC = cArr;
  40.         pP->print();//pP = cArr+0; pP++ = cArr+1;pP++ = cArr+2   那pP->print()  是什么意思呢?父类指针pP指向子类对象 然后打印子类成员函数?
  41.         pC->print();  

  42.         pP++;
  43.         pC++;
  44.         pP->print();
  45.         pC->print();

  46.         pP++;
  47.         pC++;
  48.         pP->print();
  49.         pC->print();

  50.         system("pause");
  51. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-4-11 19:33:19 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-3 12:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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