1. 程式人生 > >C++面向物件程式設計50道程式設計題(第01題)

C++面向物件程式設計50道程式設計題(第01題)

C++面向物件程式設計50道程式設計題(第01題)

摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。
  本專輯為程式設計入門者、高校計算機軟體專業學習或複習提供C++程式設計題庫。
  讀者請先獨立思考哦,再與參考程式進行比對檢查。

一、問題描述

在這裡插入圖片描述

二、考察內容

基本面向物件概念,如何建立類、物件,對公有資料成員和公有成員函式的理解,以及簡單的數學運算。

三、難度等級

難度等級:★★☆☆☆

四、參考程式

#include<iostream.h>
class Fract{
	int num,den;
public:
	Fract(int a=0,int b=1){num=a;den=b;}
	int ged(int,int);
	Fract add(Fract);
	void show(){cout<<num<<'/'<<den<<endl;}
};
int Fract::ged(int m,int n) {
	int k;
	if(m>n)k=n;
	else k=m;
	for(;k>0;k--)
		if(m%k==0&&n%k==0)
			break;
			return k;
}
Fract Fract::add(Fract f) {
	Fract ff;
	int v;
	v=ged(den,f.den);
	v=den*f.den/v;
	num=v/den*num;
	f.num=v/f.den*f.num;
	ff.num=num+f.num;
	ff.den=v;
	v=ged(ff.num,ff.den);
	ff.num/=v;
	ff.den/=v;
	return ff;
}
void main(){
	Fract f1(1,5),f2(7,20),f3; //注15
	f3=f1.add(f2);
	f3.show();
}

五、心得感受

可以在評論處寫下思考和程式設計此題的感受