c++继承(子类调用父类函数、全局函数)

来源:互联网 发布:Ubuntu配置caffe CPU 编辑:程序博客网 时间:2024/05/16 02:24

#include<stdio.h>

#include<iostream>

using namespace std;

 

void SetX(int x);

void SetY(int y);

 

//父类

class Parent

{

public:

      Parent(){};

      void SetX(int x){m_x = x;};

      void SetY(int y){m_y = y;};

      void Show(){printf("x = %d,y = %d\n",m_x,m_y);};

      ~Parent(){};

Private:

      int m_x,m_y;

};

//子类

Class Child

{

Public:

      Child(){};

      //调用父类函数

      void SetX(int x){Parent::SetX(x);};

      void SetY(int y){Parent::SetY(y);};

      /*

      //调用子类函数,会出错,但写法没有问题

      void SetX(int x){SetX(x);};

      void SetY(int y){SetY(y);};*/

      /*

      //调用全局函数

      void SetX(int x){::SetX(x);};

      void SetY(int y){::SetY(y);};

      */ 

      ~Child(){};

};

 

//全局函数

void SetX(int x)

{

     Parent p;

     p.SetX(x);

}

 

void SetY(int y)

{

     Parent p;

     p.SetY(y);

}

 

//主函数

void main(int argc,char* argv[])

{

      Child c;

      c.SetX(10);

      c.SetY(11);

      getchar();

}