iT邦幫忙

0

[C++成猴筆記] 類別_2

c++
  • 分享至 

  • xImage
  •  
  • 同類別的物件可以相互access,不一定要建立member function來取得private data member

另一個範例:

FRACTION add(const FRACTION&) const;
第1個const代表不會改變傳入參數
第2個const代表不會改變該物件的data member

class FRACTION {
private:
	int num;
	int den;
public:
	void fraction_init();
	FRACTION add(const FRACTION&) const;
	FRACTION sub(const FRACTION&) const;
	FRACTION mul(const FRACTION&) const;
	FRACTION div(const FRACTION&) const;
	void printFraction() const;
};
int main()
{
	FRACTION f1;
	f1.fraction_init();
	f1.printFraction();
	system("pause");
	return 0;
}

void FRACTION::fraction_init() {
	num = 0;
	den = 1;
}
FRACTION FRACTION::add(const FRACTION& b) const {
	FRACTION temp;
	temp.den = den * b.den;
	temp.num = num * b.den + b.num * den;
	return temp;
}
FRACTION FRACTION::sub(const FRACTION& b) const {
	FRACTION temp;
	temp.den = den * b.den;
	temp.num = num * b.den - b.num * den;
	return temp;
}
FRACTION FRACTION::mul(const FRACTION& b) const {
	FRACTION temp;
	temp.den = den * b.den;
	temp.num = num * b.num;
	return temp;
}
FRACTION FRACTION::div(const FRACTION& b) const {
	FRACTION temp;
	temp.den = num * b.den;
	temp.num = den * b.num;
	return temp;
}
void FRACTION::printFraction() const {
	cout << num << " / " << den << endl;
}

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言