實訓C 語言設計 Clock模擬時鐘系統

2021-04-15 06:21:40 字數 2587 閱讀 1598

平台:vc++ 2005 測試通過!

.vcproj

這是使用應用程式嚮導生成的 vc++ 專案的主專案檔案。

它包含生成該檔案的 visual c++ 的版本資訊,以及有關使用應用程式嚮導選擇的平台、配置和專案功能的資訊。

stdafx.h, stdafx.cpp

這些檔案用於生成名為 twod.pch 的預編譯頭 (pch) 檔案和名為 stdafx.obj 的預編譯型別檔案。

這些都是使用應用程式嚮導生成的 vc++ 檔案故不列出

我只列出程式主要部分!

/*本例中,通過cclock型別的實現演示了c++中

操作符過載,型別的顯式,隱式轉換.

1. 為cclock型別提供++,+,-三個操作符過載函式,

使得++,+,-三個操作符可用於cclock型別的變數

的運算.

2. 對於客戶**中的t3 = t1 * 5; t3 = 6 * t3;要實現

此功能有兩種途徑:

2.1 通過cclock型別的型別轉換函式

cclock(unsigned long i);  將unsigned long轉換為cclock

operator unsigned long();將cclock轉換為unsigned long

編譯器將隱式地呼叫上述轉換函式來支援

t3 = t1 * 5; t3 = 6 * t3;運算,具體過程是:

編譯器隱式地呼叫operator unsigned long(),將

t1 * 5,6 * t3中的t1,t3自動轉換為unsigned long

然後執行*法運算,然後,再呼叫cclock(unsigned long i)

將結果轉換為cclock型別賦值給t3.

2.2 通過實現cclock型別的*法過載函式,來支援cclock

型別與unsigned long型別的*法運算.實現*法過載的

方式又有兩種:

2.2.1 實現cclock型別的*法過載"成員函式"

cclock operator *(unsigned long m);此函式

只支援諸如:t1 * 5方式的運算,而5*t1運算是

不支援的.

2.2.2 實現cclock型別的*法過載"友元函式"

friend cclock operator *(unsigned long m, cclock c);  

friend cclock operator *(cclock c, unsigned long m);

可支援t1 * 5運算,及5*t1運算.

#include

using namespace std;

class cclock

cclock operator++(int)

cclock operator +(const cclock& c);

// cclock operator +(int i);

/*cclock operator -(const cclock&rc);

//cclock operator *(unsigned long m);

/*定義乙個由cclock型別轉換為unsigned long型別

變數的函式*/

operator unsigned long();

private:

unsigned long  _totsecs; //時間總長

unsigned long  _secs, _mins, _hours, _days;//秒,分,小時,天

};cclock::cclock(unsigned long i)

cclock::cclock(const cclock& rc)

void cclock::tick()

cclock cclock::operator +(const cclock& rc)

/*cclock cclock::operator -(const cclock& rc)*/

/*cclock cclock::operator *(unsigned long m)

*//*cclock operator+(cclock c1, cclock c2)

cclock cclock::operator-(cclock c)

cclock operator*(unsigned long m, cclock c)

cclock operator*(cclock c, unsigned long m)

*//*cclock operator+(const cclock& c1, const cclock& c2)

*/cclock operator+(int i, const cclock& c)

/*cclock cclock::operator +(int i)*/

cclock operator+(const cclock& c, int i)

void cclock::print() const

// clockpro.cpp : 定義控制台應用程式的入口點。

//#include "stdafx.h"

#include "cclock.h"

int _tmain(int argc, _tchar* argv)

實訓C 語言設計 Clock模擬時鐘系統

平台 vc 2005 測試通過!vcproj 這是使用應用程式嚮導生成的 vc 專案的主專案檔案。它包含生成該檔案的 visual c 的版本資訊,以及有關使用應用程式嚮導選擇的平台 配置和專案功能的資訊。stdafx.h,stdafx.cpp 這些檔案用於生成名為 twod.pch 的預編譯頭 p...

實訓C 語言設計 異常處理

目的 正確理解c 的異常處理機制 學習異常處理的定義及執行過程 內容 定義乙個異常類cexception 有成員函式reason 用來顯示異常的型別,在子函式中觸發異常,在主程式中處理異常,觀察程式的執行流程。三 實驗任務 在類cexception的成員函式reason 中用cout顯示異常的型別,...

實訓C 語言設計 檔案和流

熟悉流類庫中常用的類及其成員函式的用法,學習到了標準的輸入輸出及其格式的控制,學習到了檔案的應用方式,有二進位制檔案和文字檔案.演算法 無 方法 無 程式 lab11 1.cpp include using namespace std define d a t ad t fill char d t....