
class_demo3.cpp
#include <iostream>
using namespace std;
class Demo {
// 宣告 public 的成員
public:
Demo();
Demo(int n1);
Demo(int n1, int n2);
void set_a(int n);
void set_b(int n);
int get_a();
int get_b();
int do_something();
// 宣告 private 的成員
private:
int a;
int b;
};
// 沒有參數的建構函數
Demo::Demo() {
set_a(1);
set_b(1);
}
// 一個參數的建構函數
Demo::Demo(int n1) {
set_a(n1);
set_b(n1);
}
// 兩個參數的建構函數
Demo::Demo(int n1, int n2) {
set_a(n1);
set_b(n2);
}
int Demo::do_something() {
// 改成呼叫 getter 成員函數
return get_a() + get_b();
}
// setter 與 getter 成員函數
void Demo::set_a(int n) {
a = n;
}
void Demo::set_b(int n) {
b = n;
}
int Demo::get_a() {
return a;
}
int Demo::get_b() {
return b;
}
int main(void) {
Demo t1;
Demo t2(11);
Demo t3(11, 22);
cout << endl;
cout << t1.do_something() << endl;
cout << t2.do_something() << endl;
cout << t3.do_something() << endl;
cout << endl;
return 0;
}
/* 檔名: class_demo3.cpp
作者: Kaiching Chang
時間: 2014-5 */exercise1201.cpp
#include <iostream>
using namespace std;
class IntegerDemo {
public:
IntegerDemo(int);
void set_value(int);
int get_value();
void Add(int);
void Subtract(int);
void Multiply(int);
void Divide(int);
private:
int value;
};
IntegerDemo::IntegerDemo(int p) {
set_value(p);
}
void IntegerDemo::set_value(int p) {
value = p;
}
int IntegerDemo::get_value() {
return value;
}
void IntegerDemo::Add(int p) {
value += p;
}
void IntegerDemo::Subtract(int p) {
value -= p;
}
void IntegerDemo::Multiply(int p) {
value *= p;
}
void IntegerDemo::Divide(int p) {
value /= p;
}
int main(void) {
int input1;
int input2;
int input3;
int input4;
int input5;
cin >> input1;
cin >> input2;
cin >> input3;
cin >> input4;
cin >> input5;
cout << endl;
IntegerDemo a(input1);
cout << "a = " << a.get_value() << endl;
a.Add(input2);
cout << "a = " << a.get_value() << endl;
a.Subtract(input3);
cout << "a = " << a.get_value() << endl;
a.Multiply(input4);
cout << "a = " << a.get_value() << endl;
a.Divide(input5);
cout << "a = " << a.get_value() << endl;
cout << endl;
return 0;
}
/* 檔名: exercise1201.cpp
作者: Kaiching Chang
時間: 2014-5 */exercise1202.cpp
#include <iostream>
using namespace std;
class FactorialDemo {
public:
FactorialDemo(int);
void set_value(int);
int get_value();
private:
int value;
};
FactorialDemo::FactorialDemo(int p) {
int result = 1;
for (int i = 1; i <= p; i++) {
result *= i;
}
set_value(result);
}
void FactorialDemo::set_value(int p) {
value = p;
}
int FactorialDemo::get_value() {
return value;
}
int main(void) {
cout << endl;
FactorialDemo a(10);
cout << "10! = " << a.get_value() << endl;
cout << endl;
return 0;
}
/* 檔名: exercise1202.cpp
作者: Kaiching Chang
時間: 2014-5 */exercise1203.cpp
#include <iostream>
using namespace std;
class FibonacciDemo {
public:
FibonacciDemo(int);
void set_value(int);
int get_value();
private:
int value;
};
FibonacciDemo::FibonacciDemo(int n) {
int f0 = 0;
int f1 = 1;
int f2;
if (n == 0) {
set_value(f0);
}
else if (n == 1) {
set_value(f1);
}
else {
for (int i = 2; i <= n; i++) {
f2 = f0 + f1;
f0 = f1;
f1 = f2;
}
set_value(f2);
}
}
void FibonacciDemo::set_value(int n) {
value = n;
}
int FibonacciDemo::get_value() {
return value;
}
int main(void) {
cout << endl;
FibonacciDemo a(10);
cout << "f(10) = " << a.get_value() << endl;
cout << endl;
return 0;
}
/* 檔名: exercise1203.cpp
作者: Kaiching Chang
時間: 2014-5 */the end
沒有留言:
張貼留言