專案6:友元類
一、問題及**
[cpp]view plain
copy
/* * 檔名稱:zuoye-補.cpp
* 作 者:戴光彤
* 完成日期:2017 年 5月 8日
* 版 本 號:v1.0
* 對任務及求解方法的描述部分:類與物件
* 輸入描述:無
* 問題描述:專案3:友元類
定義下面兩個類的成員函式(為體驗友元類,實際上本例並不一定是乙個好的設計,將兩個類的合併為乙個datetime,日期、時間都處理更好)
* 程式輸出:
* 演算法設計:略
*/#include
using namespace std;
class date; //對date類的提前引用宣告
class time
; class date
; int main( )
return 0;
} //下面定義兩個類中的成員函式,要求不得再增加成員函式
//注意體會在time的成員函式中可以呼叫date類的私有資料成員
time::time(int h,int m,int s)
date::date(int m,int d,int y)
void time::add_a_second(date &d)
void time::display(date &d)
{ cout<
二、執行結果:
三、心得體會:
當希望乙個類可以訪問另乙個類的私有成員時,可以將該類宣告為另一類的友元類。定義友元類的語句格式如下:
friend class 類名(即友元類的類名);
其中:friend和class是關鍵字,類名必須是程式中的乙個已定義過的類。
四、知識點總結:
(1) 友元關係不能被繼承。
(2) 友元關係是單向的,不具有交換性。若類b是類a的友元,類a不一定是類b的友元,要看在類中是否有相應的宣告。
(3) 友元關係不具有傳遞性。若類b是類a的友元,類c是b的友元,類c不一定是類a的友元,同樣要看類中是否有相應的申明。
(4)類b是類a的友元,類b的成員函式可以訪問類a的所有成員,但是類a的成員函式可以訪問類b的私有成員和保護成員。
第六次實驗作業
1.有乙個四位正整數,組成這個四位數的四個數字各不相同,如果把它們的首尾互換,第二位與第三位互換,組成乙個新的四位數。原四位數為新四位數的4倍,請找出乙個這樣的四位數。2.輸入任意乙個多位的數字,求各位數字之和。如果在 1,12 之內,則輸出與和數字對應的月份的英文名稱,否則輸出 樣例 輸入123,...
第六次實驗
一.問題給 檔名稱 第6次上機實驗 作 者 梁一意 完成日期 2017 年 5 月 5 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 輸入的s為 we are the world 輸入的字元c為 w 問題描述 從字串s 從鍵盤輸入 中刪除所有的字元c 從鍵盤輸入 刪除 要求使用字元...
第六次實驗
part1 結構體型別及程式設計應用 1 補足程式ex1 2.cpp include const int n 5 定義結構體型別struct student,並定義stu為其別名 typedef struct student stu 函式宣告 void input stu s,int n int f...