oop - C++类的方法中声明的类对象的访问权限的问题。

浏览:45日期:2023-03-27

问题描述

我有个关于C++类私有变量访问权限的问题。下面的代码来自《C++ Primer Plus 第六版》第384-383页。

下面是一个类的声明:

// mytime0.h -- Time class before operator overloading#ifndef MYTIME_H_#define MYTIME_H_class Time{private: int hours; int minutes;public: Time(); Time(int h, int m = 0); void AddMin(int m); void AddHr(int h); void Reset(int h = 0, int m = 0); Time Sum(const Time & t) const; void Show() const;};#endif // MYTIME_H_

下面是Sum方法的实现:

Time Time::Sum(const Time & t) const{ Time sum; sum.minutes = minutes + t.minutes; sum.hours = hours + t.hours + sum.minutes / 60; sum.minutes %= 60; return sum;}

我的问题是为什么在这个方法里,可以直接访问局部变量sum的私有成员?C++是这样规定的吗?在书上没找到=。=

问题解答

回答1:

类方法定义的时候,对该类的所有对象(包括引用、指针这些)的所有成员都有访问权。

相关文章: