Yurttas/PL/OOL/Cplusplus/F/05/03/00/A.h
Jump to navigation
Jump to search
1/*
2 Copyright(C) 2007
3 All Rights Reserved. Salih Yurttas, ZCubes, BitsOfCode Software Systems, Inc..
4
5 Permission to use, copy, modify, and distribute this
6 software and its documentation for EDUCATIONAL purposes
7 and without fee is hereby granted provided that this
8 copyright notice appears in all copies.
9
10 date : December 1, 2007.
11 author : Salih Yurttas.
12
13 A.h
14*/
15
16
17#ifndef A_H
18#define A_H
19
20#include <iostream>
21
22using namespace std;
23
24template <class T1,
25 class T2,
26 class T3>
27class A {
28public:
29 A(const T1 i=0,
30 const T2 j=0,
31 const T3 k=0);
32
33 T1 get_a() const;
34 T2 get_b() const;
35 T3 get_c() const;
36
37 T1* get_abc() const;
38
39 void set_a(const T1);
40 void set_b(const T2);
41 void set_c(const T3);
42 void set_abc(const T1);
43 void set_abc(const T1,
44 const T2,
45 const T3);
46
47 template<class U, // this syntax changed several times
48 class V,
49 class W>
50 friend ostream& operator<<(ostream&,
51 const A<U,V,W>&);
52
53private:
54 T1 a;
55 T2 b;
56 T3 c;
57};
58#endif