Yurttas/PL/OOL/Cplusplus/F/02/06/04/00/exception 03.cpp

From ZCubes Wiki
Jump to navigation Jump to search
 1/*
 2   Copyright(C) 2000
 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   : January 1, 2000.
11   author : Salih Yurttas.
12
13   exception_03.cpp
14*/
15
16
17#include <iostream>
18
19#include <typeinfo>
20
21using namespace std;
22
23class A { 
24public: 
25  virtual ~A(){};
26};
27
28class B {
29public: 
30  virtual ~B(){};
31};
32
33class D : public B {};
34
35int main(int argc, char* argv[]) {
36
37  D d;
38
39  B& b = d; 
40
41  A* ap = 0;
42
43  try {
44    typeid(*ap); // Throws exception
45  }
46  catch(bad_typeid e) {
47    cout << "Exception : " << e.what() << endl; 
48    cout << "Bad typeid() expression" << endl;
49  }
50
51}