把一类私用变量用指针导出在使用.如何看待这种使用方式.
把一类私用变量用指针导出在使用.
如何看待这种使用方式.
代码如下:
先写个测试类:
class CTestA
{
public:
CTestA(void){iTmp = 0;}
virtual ~CTestA(void);
void ShowA(void){std::cout<<"iTmp ="<<iTmp<<std::endl;}
int iTmp;
};
在写个把上面类当作私用成员来使用类:
class CTestB
{
public:
CTestB(void);
virtual ~CTestB(void);
void ShowB(void){testA.ShowA();}
CTestA* GetPtr(void){return &testA;} /*把私用数据成员导出*/
private:
CTestA testA;
};
在main()中使用
CTestA *pTestA;
CTestB testB;
pTestA = testB.GetPtr(); /*获取私用数据成员指针*/
pTestA->iTmp = 111;
pTestA->ShowA(); /*调用指针方法-输出111*/
testB.ShowB(); /*在调用类方式,看输出方式是否一致-输出111*/
私用数据成员不定义为只能在类中使用吗?但为什么GetPtr()把它当做指针导出到外面来,也可以用呢.
按道理应该不可以用的啊.
不明白啊。