c++自学笔记第五次

代码重用是现代程序设计追求的一个重要目标,模板有效地软件重用。模板和异常处理都是c++的重要机制。利用模板可以大大缩短了程序的长度。
#include<iostream>


using namespace std;




template<class T>
class A{
T x;
T y;
    public:
A(T a,T b){
x=a;
y=b;
}
void display(){
cout<<x<<"+"<<y<<"i"<<endl;
}


};
 
int main(){
    A<int>a1(2,3);
A<double>a2(4.3,5.3);
a1.display();
a2.display(); 
   


   return 0;





函数模板
#include<iostream>


using namespace std;




template<class T>
T sum(T a,T b){       //加法模板 
return a+b;

int isum(int a,int b){  //整数加法 
return a+b;

float fsum(float a,float b){ // 实数加法 
return a+b;
}
int main(){
    cout<<"isum(2,3)="<<isum(2,3)<<endl;
cout<<"fsum(3.5,4.12)="<<fsum(3.5,4.1)<<endl;
    cout<<"sum(2,3)="<<sum(2,3)<<endl;
cout<<"sum(3.5,4.12)="<<sum(3.5,4.1)<<endl;
   return 0;



sum其实相当于若干个函数的组合,对于不同的参数类型,sum可以返回不同的结果








异常处理是c++的一个特点,它能够检测到程序运行错误后终止程序,并按照指定的方法对错误进行处理,当异常被处理完之后,程序又开始运行。


#include<iostream>


using namespace std;


class YC{};
int main(){
   double a,b,c;
   cin>>a>>b>>c;
   try{
    if(c==0)
      throw YC();
      cout<<a<<"+"<<b<<"/"<<c<<"="<<a+b/c<<endl;
   }
   catch(YC){
    cout<<"除数不可以为0 "<<endl;
   }
   return 0;







#include<iostream>


using namespace std;


class YC1{};
class YC2{};
int main(){
   int a,b;
   cin>>a>>b;
   try{
    if(a*b<10)
      throw YC1();
    else if(a*b>100)
       throw YC2();
     cout<<"该矩形的面积为 "<<a*b<<"平方米"<<endl;
      
   }
   catch(YC1){
        cout<<"面积不可以小于10"<<endl;
   }
   catch(YC2){
    cout<<"面积不可以大于100"<<endl;
   }
   return 0;
}




多少种情况就抛出多少个异常


文件
#include<iostream>
#include<fstream>
using namespace std;


int main(){
    ofstream ofile("11111.txt"); //以文本形式打开文件 
    if(!ofile)
       cerr<<"打开文件错误"<<endl;
    else{        //开始写入操作 
       ofile<<"姓名\t"<<"年龄\t"<<"性别\t"<<endl;
       ofile<<"赵易\t"<<"21\t"<<"男\t"<<endl;
       ofile<<"杜帅\t"<<"20\t"<<"男\t"<<endl;
       ofile<<"赵彤彤\t"<<"20\t"<<"女\t"<<endl;
    } 
   return 0;



#include<iostream>
#include<fstream>
using namespace std;


int main(){
    ofstream ofile;
ifstream ifile;
char buf1[30],buf2[30];
ofile.open("11111.txt");//打开文件。写入 
ofile<<"hello 彤彤";
ofile<<"I Love You";
ofile.close();//关闭文件
ifile.open("11111.txt");  //打开文件,进行读操作 
    ifile.getline(buf1,30);
    ifile.getline(buf2,30);
    cout<<buf1<<endl;
    cout<<buf2<<endl;
   return 0;



<<endl,在文件读取过程中,这个会读到文件中去。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值