1:对于类的非静态成员,每个对象都有自己的一份拷贝,即每个对象都有自己的数据成员,不过成员函数却是每个对象共享的。那么调用共享的成员函数如何找到自己的数据成员呢?答案是通过类中隐藏的this指针。
2:示例代码:
// 7.6.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> using namespace std; class CBook //定义一个CBook类 { public: int m_Pages; //定义一个数据成员 void OutputPages() //定义一个成员函数 { //cout<<m_Pages<<endl; //隐式调用 cout<<this->m_Pages<<endl; //显式调用 } }; int main(int argc, char* argv[]) { CBook vbBook,vcBook; //定义两个CBook类对象 vbBook.m_Pages = 512; //设置vbBook对象的成员数据 vcBook.m_Pages = 570; //设置vcBook对象的成员数据 vbBook.OutputPages(); //调用OutputPages方法输出vbBook对象的数据成员 vcBook.OutputPages(); //调用OutputPages方法输出vcBook对象的数据成员 return 0; }