Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # include <iostream>
- # include <stdexcept>
- using namespace std;
- struct BadIndex : public std::exception {} ;
- const int ARRAY_LENGTH = 10 ;
- class Homework
- {
- public :
- int a ;
- double b ;
- string c ;
- Homework(int a , double b , string c) ;
- };
- Homework :: Homework(int a , double b , string c)
- {
- this->a = a ;
- this->b = b ;
- this->c = c ;
- }
- template<typename T>
- T getArrayElement(Homework c , int len , int index)
- {
- if(0 <= index && index < len)
- {
- Homework bbb(1 , 3.3 , "ok") ;
- return bbb ;
- }
- else if(index <= -1 && index >= -(len-1))
- {
- Homework bbb(2 , 3.3 , "ok") ;
- return bbb ;
- }
- else
- throw BadIndex() ;
- }
- int main()
- {
- Homework homework(3 , 5.646 , "hw") ;
- int index = 0 ;
- cin >> index ;
- try
- {
- Homework result = getArrayElement<Homework>(homework , ARRAY_LENGTH , index) ;
- cout << result.a ;
- }
- catch (BadIndex e)
- {
- cout << "Bad index !\n" ;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement