
u1001.cpp
#include <iostream>
template <typename T1, typename T2>
T1 do_something
(const T1& a, const T2& b) {
return a + b;
}
int main() {
std::cout << do_something(1, 10)
<< std::endl;
std::cout << do_something(1, 10.5)
<< std::endl;
std::cout << do_something(2.5, 6.32)
<< std::endl;
return 0;
}
/* Kaiching Chang
u1001.cpp
2014-02 */u1002.cpp
#include <iostream>
template <typename T> class Demo {
public:
Demo(const T& a, const T& b) {
this->a = a;
this->b = b;
}
T do_something() {
return a + b;
}
private:
T a;
T b;
};
int main() {
Demo<int> d1(20, 25);
std::cout << d1.do_something()
<< std::endl;
Demo<double> d2(5.2, 3.95);
std::cout << d2.do_something()
<< std::endl;
Demo<char> d3('1', '2');
std::cout << d3.do_something()
<< std::endl;
return 0;
}
/* Kaiching Chang
u1002.cpp
2014-02 */u1003.cpp
#include <iostream>
template <typename T> class Demo {
public:
Demo(const T& a, const T& b) {
this->a = a;
this->b = b;
}
T do_something() {
return a + b;
}
private:
T a;
T b;
};
template <typename T> using D = Demo<T>;
int main() {
D<int> d1(20, 25);
std::cout << d1.do_something()
<< std::endl;
D<double> d2(5.2, 3.95);
std::cout << d2.do_something()
<< std::endl;
D<char> d3('1', '2');
std::cout << d3.do_something()
<< std::endl;
return 0;
}
/* Kaiching Chang
u1003.cpp
2014-02 */the end
沒有留言:
張貼留言
0.留言請選擇註冊帳號, Google 或 OpenID 均可
1.歡迎留言交流,但不歡迎垃圾留言及廣告留言
2.文章相關問題歡迎提出,請減少情緒性留言
3.非文章相關內容,請到 G+ 社群或 FB 社團提出
4.問作業之留言會被直接刪除
5.莫忘網路禮節
6.可使用部份HTML標記,如 <b> 、 <i> 、 <a>
7.站長保留刪除留言的權力