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

Revision as of 22:45, 6 November 2013 by MassBot1 (talk | contribs) (Created page with "<syntaxhighlight lang="cpp" line start="1" enclose="div">/* Copyright(C) 2000 All Rights Reserved. Salih Yurttas, ZCubes, BitsOfCode Software Systems, Inc.. Perm...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
 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}