Advertisement
dllbridge

Untitled

May 19th, 2025
388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.98 KB | None | 0 0
  1.  
  2.  
  3. /*
  4.  
  5. #include   <stdio.h>
  6. #include  <locale.h>
  7.  
  8.  
  9.  
  10.  
  11.  
  12. //////////////////////////////////////////////////////////     TaleTellingClass: Простой класс, который информирует
  13. class TaleTellingClass                                 //                           о своем создании и уничтожении...
  14. {
  15.      
  16.    public:  
  17.      
  18.    TaleTellingClass() { printf("Вызываем конструктор TaleTellingClass \n"); }
  19.   ~TaleTellingClass() { printf("Вызываем  ДЕСТРУКТОР TaleTellingClass \n"); }
  20. };
  21.  
  22.  
  23.  
  24.  
  25.  
  26. FILE *fp;
  27.  
  28.  
  29. //////////////////////////////////////////////////////////  
  30. void function1()                                        //
  31. {
  32.      
  33.      char sz[123];
  34.      
  35.      if(fp = fopen("test.txt", "r"))
  36.      {
  37.            
  38.        
  39.         fscanf(fp, "%s", sz);
  40.         printf("Читаем из файла до первого пробела: %s \n", sz);
  41.         fclose(fp);
  42.      }
  43.      else
  44.      {
  45.          printf("Выбрасываем исключение...\n");                                            // Выбросить 'const char*'
  46.  
  47.          throw "Ошибка при открытии файла...";                            // В противном случае, файл открыт успешно
  48.      }                                                        
  49. }
  50.    
  51.    
  52.    
  53. //////////////////////////////////////////////////////////
  54. void function2()                                        //
  55. {
  56.  
  57.      TaleTellingClass tellme;   // Создать локальный объект, чтобы проверить вызов деструктора при разматывании стека
  58.                                            
  59.      function1();                                                       //  Вызвать функцию, выбрасывающую исключение
  60. }
  61.  
  62.  
  63.  
  64.  
  65.  
  66. //////////////////////////////////////////////////////////
  67. int main()                                              //
  68. {
  69.    
  70.     setlocale(LC_ALL, "Rus");
  71.    
  72.     try
  73.     {
  74.        printf("Входим в try-блок...\n");
  75.        function2();
  76.        printf("Выходим без ошибок (исключений) из try-блока...\n");
  77.     }
  78.    
  79.     //        !!! Здесь (между try & catch)нельзя размещать код !!!    
  80.    
  81.     catch(int i)
  82.     {
  83.        printf("Вызван обработчик 'int' с %d \n", i);     return -1;                
  84.     }
  85.  
  86.  
  87.     catch(const char* p)
  88.     {
  89.        printf("Вызван обработчик 'char*’ [%s] \n", p);   return -1;      
  90.     }
  91.  
  92.  
  93.     catch(...)
  94.     {
  95.        printf("Вызван обработчик catch_all...\n");       return -1;
  96.     }
  97.  
  98. return 0;                                                                                 // Обошлось без приключений
  99. }
  100.  
  101.  
  102.  
  103. */
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110. #include  <iostream>
  111. #include    <vector>
  112. using namespace std;
  113.  
  114. void  monitor(vector<int> &r);
  115. void _monitor(vector<int> &r);
  116.  
  117. //////////////////////////////////////////////////////////
  118. int main()
  119. {
  120.    
  121.  
  122.     setlocale(LC_ALL, "rus");
  123.    
  124.     int nArr[77] = {2, 4, 3, 77, 4, 33, 23, 78 };
  125.    
  126.     vector<int> v;
  127.    
  128.     for(int i = 0; i < 8; i++)
  129.     {
  130.            
  131.        v.push_back(nArr[i]);        
  132.            
  133.     }  
  134.    
  135.    
  136.    
  137.     monitor(v);
  138.    
  139.    
  140. return 0;
  141. }
  142.  
  143.  
  144. //////////////////////////////////////////////////////////
  145. void monitor(vector<int> &r)
  146. {
  147.      
  148.     vector<int>::iterator  it;
  149.    
  150.     it = r.begin();
  151.    
  152.     while(it != r.end())
  153.     {
  154.              
  155.        cout << *it << ", ";          
  156.        it++;      
  157.     }      
  158.      
  159.    // for(int i = 0; i < n; i++)
  160.     {    
  161.      
  162.       //  cout << r[i] << ", ";
  163.     }
  164. }
  165.  
  166.  
  167.  
  168. //////////////////////////////////////////////////////////
  169. void _monitor(vector<int> &r)
  170. {
  171.      
  172.     int n = r.size();
  173.      
  174.     for(int i = 0; i < n; i++)
  175.     {    
  176.      
  177.         cout << r[i] << ", ";
  178.     }
  179. }
  180.  
  181.  
  182.  
  183.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement