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
指向的对象。