美文网首页
C++异常 模板类

C++异常 模板类

作者: 闪客飞飞 | 来源:发表于2021-03-18 21:17 被阅读0次

//异常: 异常处理,根据抛出的异常数据类型,进入到相应的catch代码块中
//void main(){
// try{
// int a = 300;
// if (a > 200){
// throw 9.8;
// }
// }
// catch (int a){
// cout << "int 异常" << a << endl;
// }
// catch (char* b){
// cout << "char 异常" << b << endl;
// }
// catch (...){
// cout << "未知异常" << endl;
// }
// system("pause");
//}

//throw 抛出函数外
//void mydiv(int a, int b){
// if (b == 0){
// throw "除数为0";
// }
//}
//void main(){
// try{
// mydiv(12, 0);
// }
// catch (char* c){
// cout << "异常:" << c << endl;
// }
//
// system("pause");
//}

//抛出异常对象 异常类
//class myException{
//public:
// myException(){
// }
//};
//void mydiv(int a, int b){
// if (b == 0){
// //throw myException();
// //throw new myException; 异常指针 需要delete
// throw myException();
// }
//}
//void main(){
// try{
// mydiv(4, 0);
// }
// /catch (myException w){
// cout << "myException:" << endl;
// }
/
// catch (myException &w){
// cout << "myException 引用:" << endl;
// }
// catch (myException* ww){
// cout << "myException 指针:" << endl;
// delete(ww);
// }
// system("pause");
//}

////自定义异常
//class myException :public exception{
//public:
// myException(char * msg) :exception(msg){
//
// }
//};
////标准异常
//void mydiv(int a, int b){
// if (b > 10){
// throw out_of_range("超出范围");
// }
// else if(b==2){
// throw invalid_argument("参数不合法");
// }
// else if (b==NULL)
// {
// throw myException("为空");
// }
//}
//void main(){
// try{
// mydiv(3, NULL);
// }
// catch (out_of_range o){
// cout << o.what() << endl;
// }
// catch (invalid_argument o){
// cout << o.what() << endl;
// }
// catch (myException &o){
// cout << o.what() << endl;
// }
// system("pause");
//}

//外部类的方式
//class Err{
//public:
// class Myexception{
// public:Myexception(){
// }
// };
//};
//void mydiv(int a, int b){
// if (b == 0){
// throw Err::Myexception();
// }
//}

//模板类
template <class T>
class A {
public:
A(T a){
this->a = a;
}
protected:
T a;
};
//普通类继承模板类
class B:public A<int>{
public:
B(int a, int b) :A<int>(a){
this->b = b;
}
private:
int b;
};
//模板类继承模板类
template <class T>
class C :public A<T>{
public:
C(T c,T a) :A<T>(a){
this->c = c;
}
protected:
T c;
};
void main(){
//实例化模板类对象
A<int>(6);
B(2, 4);
C<int>(2, 4);
system("pause");
}

相关文章

  • (五)C++中的异常处理与模板类

    C++中的异常处理与模板类 一、C++ 中的异常处理 1、异常处理 在C++ 中可以抛出任何类型的异常,根据抛出的...

  • C++异常 模板类

    //异常: 异常处理,根据抛出的异常数据类型,进入到相应的catch代码块中//void main(){// t...

  • C++模板类&异常处理

    模板类类似JAVA中的泛型 //模板类 templateclass A{ public: A(T...

  • Geekband C++ 第五周

    概述 C++模板简介 函数模板 C++类模板 操作符重载 泛型编程 容器

  • C++类模板

    一、定义 C++ 类模板 定义一个 C++ 类模板和定义一个函数模板类似,可以指定一个或者多个模板参数标识符。在类...

  • 10-C++远征之模板篇-学习笔记

    C++远征之模板篇 将会学到的内容: 模板函数 & 模板类 -> 标准模板类 友元函数 & 友元类 静态数据成员 ...

  • 慕课网-C++远征之模板篇(上)-学习笔记

    C++远征之模板篇 将会学到的内容: 模板函数 & 模板类 -> 标准模板类 友元函数 & 友元类 静态数据成员 ...

  • C++ STL初识及整理

    概述 简介 简单介绍:C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些...

  • C++ 模板开发

    C++模板开发分为两类: 模板函数开发 模板类开发 模板函数语法: template是关键字,

  • C++11泛型 - 类模板

    前面我们介绍了函数模板。今天我们来看看C++的另一种泛型:类模板。C++中类模板通常是容器(如std::vecto...

网友评论

      本文标题:C++异常 模板类

      本文链接:https://www.haomeiwen.com/subject/hlmpcltx.html