第15周-閱讀專案1-異常處理&&名稱空間
問題及程式碼:
執行結果:
執行結果:
執行結果:
異常處理&&名稱空間。
#include <iostream >
using namespace std;
int a[10]= {1,2, 3, 4, 5, 6, 7, 8, 9, 10};
int fun( int i);
int main()
{
int i ,s=0;
for( i=0; i<=10; i++)
{
try
{
s=s+fun(i);
}
catch(int)
{
cout<<"陣列下標越界!"<<endl;
}
}
cout<<"s="<<s<<endl;
return 0;
}
int fun( int i)
{
if(i>=10)
throw i;
return a[i];
}
執行結果:
問題及程式碼:
#include <iostream>
using namespace std;
namespace CounterNameSpace
{
int upperbound;
int lowerbound;
class counter
{
int count;
public:
counter(int n)
{
if (n <= upperbound )
{
count = n;
}
else
{
count = upperbound;
}
}
void reset(int n)
{
if (n < upperbound)
{
count = n;
}
}
int run()
{
if (count > lowerbound)
{
return count--;
}
else
return lowerbound;
}
};
}
int main()
{
CounterNameSpace::upperbound = 100;
CounterNameSpace::lowerbound = 0;
CounterNameSpace::counter ob1(10);
int i;
do
{
i = ob1.run();
cout << i << " ";
}
while (i > CounterNameSpace::lowerbound);
cout << endl;
CounterNameSpace::counter ob2(20);
do
{
i = ob2.run();
cout << i << " ";
}
while (i > CounterNameSpace::lowerbound);
cout << endl;
ob2.reset(100);
do
{
i = ob2.run();
cout << i << " ";
}
while (i > CounterNameSpace::lowerbound);
cout << endl;
return 0;
}
執行結果:
問題及程式碼:
#include <iostream>
using namespace std;
namespace CounterNameSpace
{
int upperbound;
int lowerbound;
class counter
{
int count;
public:
counter(int n)
{
if (n <= upperbound )
{
count = n;
}
else
{
count = upperbound;
}
}
void reset(int n)
{
if (n < upperbound)
{
count = n;
}
}
int run()
{
if (count > lowerbound)
{
return count--;
}
else
return lowerbound;
}
};
}
int main()
{
using CounterNameSpace::upperbound;
upperbound = 100; //(a)
CounterNameSpace::lowerbound = 0; //(b)
CounterNameSpace::counter ob1(10);
int i;
do
{
i = ob1.run();
cout << i<<" ";
}
while( i > CounterNameSpace::lowerbound);
cout << endl;
using namespace CounterNameSpace;
counter ob2(20);
do
{
i = ob2.run();
cout << i<<" ";
}
while( i > CounterNameSpace::lowerbound); //(c)
cout << endl;
ob2.reset(100);
lowerbound = 90; //(d)
do
{
i = ob2.run();
cout << i <<" ";
}
while( i > lowerbound);
return 0;
}
執行結果:
請回答:
(a)(d)處:為什麼可以省去CounterNameSpace::?
因為之前已經對相關命名作了宣告。
(b)(c)處:是否可以省去CounterNameSpace::?
可以。
異常處理&&名稱空間。
學習心得:
異常處理真是比以前我們的錯誤提醒高大上好多哦哈哈O(∩_∩)O哈哈~
新技能get√
相關文章
- 第15周-閱讀專案2-異常處理&&名稱空間
- 第15周-專案1-平方根中的異常
- JAXB名稱空間及名稱空間字首處理
- 第14周-閱讀專案1-二進位制檔案的讀寫
- 第13周-閱讀專案1-標準輸入輸出物件及文字檔案物件
- 第14周-專案1-用二進位制檔案處理學生成績
- 名稱空間與巢狀命名中的處理巢狀
- 第14周-閱讀專案5-字串流物件字串物件
- 第2周專案1-旱冰場造價
- 第2周專案-課後實踐·閱讀程式(1)
- 第2周專案-課後實踐·閱讀程式(2)
- 名稱空間
- Oracle的home目錄空間佔用異常處理Oracle
- 解讀Rails – 處理異常AI
- J2EE專案異常處理
- 第13周-閱讀專案3-對文字檔案的訪問
- PHP 名稱空間PHP
- PHP名稱空間PHP
- vuex名稱空間Vue
- jQuery 名稱空間jQuery
- JavaScript 名稱空間JavaScript
- springboot專案中的異常處理Spring Boot
- JN專案-型別轉換異常處理型別
- java專案部署異常解析及處理方案Java
- Laravel核心解讀–異常處理Laravel
- python名稱空間Python
- C++名稱空間C++
- 更改模型名稱空間模型
- 全域性名稱空間
- C++ 名稱空間C++
- Python 名稱空間Python
- 11. 名稱空間
- ts---名稱空間
- yaml檔案中在哪加名稱空間?YAML
- 使用p名稱空間和c名稱空間的XML快捷方式XML
- Java中如何處理空指標異常Java指標
- 異常篇——異常處理
- 專案分享九:客戶端的異常處理客戶端