Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用对象访问私有成员_C++ - Fatal编程技术网

C++ 使用对象访问私有成员

C++ 使用对象访问私有成员,c++,C++,我在某处看到了下面的示例,在该示例中,同一类的对象能够访问私有成员。我不明白背后的逻辑 #include <iostream> using namespace std; class CTime { int hours; int minutes; public: void getTime(int h, int m) { hours = h; minutes = m; } void putTime(voi

我在某处看到了下面的示例,在该示例中,同一类的对象能够访问私有成员。我不明白背后的逻辑

#include <iostream>

using namespace std;

class CTime
{
    int hours;
    int minutes;
public:
    void getTime(int h, int m)
    {
        hours = h;
        minutes = m;
    }
    void putTime(void)
    {
        cout << hours << "hours and ";
        cout << minutes << " minutes" << "\n";
    }
    void sum(CTime t1, CTime t2);
};

// ---------- vvvv ---------------
//  --------- Here ---------------
void CTime::sum(CTime t1, CTime t2)
{
    minutes  = t1.minutes + t2.minutes;
    hours = minutes/60;
    minutes = minutes%60;
    hours = hours + t1.hours + t2.hours;
}

int main()
{
    CTime T1, T2, T3;

    T1.getTime(2, 45);
    T2.getTime(3, 30);

    T3.sum(T1, T2);

    cout << "T1 = ";
    T1.putTime();

    cout << "T2 = ";
    T2.putTime();

    cout << "T3 = ";
    T3.putTime();

    return 0;
}
#包括
使用名称空间std;
类时间
{
整小时;
整数分钟;
公众:
void getTime(inth,intm)
{
小时=小时;
分钟=m;
}
void putTime(void)
{

C++封装是基于类的。一个类的实例可以自由访问同一类的其他对象的私有成员。

C++封装是基于类的。一个类的实例可以自由访问同一类的其他对象的私有成员。

这是一个非常好的基本解释


您将在其中找到一个包含访问类型的表。这是您感兴趣的内容,但整篇文章都很有用。

这是一个非常好的基本解释


您将在其中找到一个包含访问类型的表。这是您感兴趣的内容,但整篇文章很有用。

您的问题到底是什么?您似乎在代码中很好地理解了它。您不理解什么?
private
意味着只能通过成员(和朋友)中的名称访问该成员类的函数,这正是这里发生的事情。您的问题是什么?看起来您在代码中很好地理解了它。您不理解什么?
private
意味着只能通过成员(和朋友)中的名称访问该成员类的函数,这正是这里发生的事情。那么,你的意思是,在类C的定义中,我可以访问由相同类名创建的对象的私有成员吗?是的,在类C中定义的函数中,你可以访问所有类C对象的私有成员,而不仅仅是指针
this
指向的对象。你也可以这样做你的意思是,在C类的定义中,我可以访问由相同类名创建的对象的私有成员?是的,在C类定义的函数中,你可以访问C类所有对象的私有成员,而不仅仅是指针
this
指向的对象。