繁体   English   中英

C ++受保护的成员访问

[英]C++ Protected member access

需要一个受保护的类来访问月日年,我了解您需要从继承的类中创建一个类,而不是在main中调用受保护的数据

#include <iostream>
#include <fstream>

using namespace std;

class dateType
{
   public:
      dateType();
      dateType(int, int, int);
      void setDate(int, int, int);
      void printDate(ostream&)const; 


   protected:
      int month;
      int day;
      int year;
};

ostream& operator<<(ostream &os, const dateType &d) {
   os << d.month << "/" << d.day << "/" << d.year; 
   files 

      return os;
} 

当执行此代码时,我收到一条错误消息,指出月,日和年受保护

与好友运算符<<一起编码。

#include <iostream>
#include <fstream>

using namespace std;

class dateType
{
public:
    dateType();
    dateType(int, int, int);
    void setDate(int, int, int);
    void printDate(ostream&)const;

    friend ostream& operator<<(ostream &os, const dateType &d) {
        os << d.month << "/" << d.day << "/" << d.year;
        return os;
    }


protected:
    int month;
    int day;
    int year;
};

您的方法应该是这样的朋友:

friend ostream& operator<<(ostream &os, const dateType &d) 
{
    os << d.getMonth() << "/" << d.getDay() << "/" << d.getYear();
    return os;
}

在您的课程实施中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM