2017-04-20 72 views
-7

我想通過下面的朋友功能訪問該類的私人成員我的代碼是完整的代碼我想使用朋友功能,但我無法訪問我的第二類的私人數據成員

#include<iostream> 
#include<string> 
#include<fstream> 
using namespace std; 
class time; 
class date{ 
void friend mixdatetime(date &c, time &d); 
int day; 
int month; 
int year; 
public: 
date(int day, int month, int year){ 
    this->day = day; 
    this->month = month; 
    this->year = year; 
}}; 
class time{ 
int hours; 
int minutes; 
int seconds;  
public: 
time(int hours, int minutes, int seconds){ 
    this->hours = hours; 
    this->minutes = minutes; 
    this->seconds = seconds;} 
void print(){};} ; 
void mixdatetime(date &c, time &d){ 
c.day; // accessable 
// why //d.minutes // inacccess able };}; 

在此代碼中,當我嘗試訪問d.minutes或d.hours //我不能,因爲它無法訪問爲什麼?我無法訪問私有成員請你告訴我合適的解決方案

+4

所以這與C#無關嗎?你爲什麼要標籤? – DavidG

+2

請發佈[MCVE],錯誤並正確設置代碼格式。並且不要垃圾郵件標籤。 –

+0

爲什麼負面評價:3我只是一個初學者兄弟:/對不起,錯誤的標記 –

回答

1

爲什麼d.minutes人跡罕至

因爲minutes是私有的類time,你沒有聲明mixdatetime作爲類time的朋友。將友誼聲明添加到類time以及:

friend void mixdatetime(date &c, time &d); 
相關問題