定義類x、y、z,函式h(x *),滿足:類x有私有成員i,y的成員函式g(x *)是x的友元函式,實現對x的成員i加1;類z是類x的友元類,其成員函式f(x *)實現對x的成員i加5;函式h(x *)是x的友元函式,實現對x的成員i加10。在乙個檔案中定義和實現類,在另乙個檔案中實現main()函式。
博主在xyz.h標頭檔案中宣告類與函式,在xyz.cpp中定義和初始化,main.cpp中執行。
題目要求兩個檔案,則可以將類與函式的宣告,定義和初始化放在乙個.pp檔案中,在主函式使用時呼叫。
xyz.h
#pragma once
class x;//宣告乙個類x,因為y要引用它,但這裡還沒有定義x
class y
;class x
private:
int i;
};class z
;void h(x*p);
xyz.cpp
#pragma once
#include "xyz.h"
x::x(int a)
:i(a)
void y::g(x*p)
void h(x*p)
void z::f(x*p)
main.cpp
#include #include "xyz.h"
using namespace std;
int main()
定義類X Y Z,函式h X ,滿足
定義類x,y,z,函式h x 滿足 類x有私有成員i,y的成員函式g x 是x的友元函式,實現對x的成員i加1 類z是類x的友元類,其成員函式f x 實現對x的成員i加5 函式h x 是x的友元函式,實現對x的成員i加10.實現 include using namespace std 定義類y cl...
Time類的定義(成員函式)
time limit 1000ms memory limit 65536k 通過本題目的練習可以掌握類與物件的定義 設計乙個時間類 time 私有資料成員有 hour 時 minute 分 second 秒 公有成員函式有 sethour int 設定資料成員 hour 的值,非法的輸入預設為12 ...
模板類中定義模板函式
用模板類和模板函式是c 程式猿必須掌握的技能。然而要充分運用編譯器的推導能力則不簡單。需求 建立乙個 類,每一列的型別可以任意指定 編譯期指定 每一行的元素可以任意指定 執行期確定 列數可變 編譯期指定 行數可變 執行期確定 這裡特意強調了編譯期和執行期,就是為了最大程度利用編譯器的推導能力,進行編...