类继承中的this指针

来源:互联网 发布:java视频教程免费下载 编辑:程序博客网 时间:2024/05/16 10:10

结合如下列子即可:

//成员函数处理不同对象的访问,关键在于成员函数有一个隐藏参数,即this指针#include "stdafx.h"#include "cstdio"#include "iostream"using namespace std;class CAnimal{private:int m_nType;public:void SetType(int type)  //相当于 void SetType(int type,(CAnimal*)this){m_nType = type;//相当于 this->m_nType = typecout << "Type is " << m_nType << endl;}};class Cbird : public CAnimal{public:void Cry(){}};int main(int argc, char* argv[]){Cbird bird1,bird2;bird1.SetType(1); // 相当于 Cbird::SetType(1,(Cbird*)&bird1);即CAnimal::SetType(1,(Cbird*)&bird1);bird2.SetType(2); // 相当于 Cbird::SetType(2,(Cbird*)&bird2);即CAnimal::SetType(2,(Cbird*)&bird2);return 0;}