码迷,mamicode.com
首页 > 编程语言 > 详细

C++之在类内部访问对象的私有成员

时间:2015-04-10 19:49:26      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

一、引言

今天看项目里的一段代码发现,竟然可以再类的成员函数中访问该类的对象的私有成员。感觉不可思议。

自己写的实例代码:

#include <iostream>

using namespace std;

class CTest
{
public:
    CTest(int n)
    {
        m_a = n;
    }

    CTest(CTest &t)
    {
        m_a = t.m_a;
    }

public:
    void Print()
    {
        cout << m_a << endl;
    }
private:
    int m_a;
};

int main(int argc, char **argv)
{
    CTest t(10);
    CTest t2(t);
    t.Print();
    t2.Print();

    return 0;
}

这段代码是可以正常运行的。

二、结论

学习的时候只记得,类的私有成员不能在外部被访问到。所以就认为绝对不能在使用对象t.m_a的方式来访问,其实可以的。因为虽然是在另外一个对象内,但是还是在类的内部访问的。

那么到底是怎么来实现的,在同类的其他对象中可以访问对象私有成员,而在不同类的对象中不可以访问呢?

C++之在类内部访问对象的私有成员

标签:

原文地址:http://www.cnblogs.com/lit10050528/p/4415441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!