C++技术资源库(全部在Visual C++ 6.0环境下调试通过)

本文介绍了C++中的函数重载和运算符重载概念,通过实例展示了如何使用它们。从简单的求最大值函数到自定义类中运算符的行为,这些示例涵盖了从基本到进阶的应用。此外,还讨论了模板和继承在函数调用中的作用,以及在类模板和派生类中的实现。最后,提到了动态内存管理和析构函数的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*001
#include "iostream"
using namespace std;
double max(double,double);
int max(int,int);
char max(char,char);
int max(int,int,int);
void main()
{
 cout<<max(2.5,17.54)<<"/t"<<max(56,8)<<"/t"<<max('w','p')<<endl;
 cout<<"max(5,9,4)="<<max(5,9,4)<<"/t"<<"max(5,4,9)="<<max(5,4,9)<<endl;
}
double max(double m1,double m2)
{
 return(m1>m2?m1:m2);
}
int max(int m1,int m2)
{return(m1>m2?m1:m2);}
char max(char m1,char m2)
{return(m1>m2?m1:m2);}
int max(int m1,int m2,int m3)
{
 int t=max(m1,m2);
 return max(t,m3);
}


*002
#include "iostream"
using namespace std;
int add(int m1=0,int m2=0,int m3=0,int m4=0)
{return m1+m2+m3+m4;}
void main()
{
 cout<<add(1,3)<<"/t"<<add(1,3,5)<<"/t"<<add(1,3,5,7)<<endl;
}


*003
#include "iostream"
using namespace std;
class Point
{
private:
 int x,y;
public:
 Point(int a,int b){x=a;y=b;}
 void Show(){cout<<"x="<<x<<"/t"<<",y="<<y<<endl;};
};
class Rectangle:public Point
{
private:
 int H,W;
public:
    Rectangle(int,int,int,int);
 void Show()
 {
  cout<<"H="<<H<<"   W="<<W<<endl;
 }
 void Display()
 {
  Point::Show();
  Rectangle::Show();
 }
};
Rectangle::Rectangle(int a,int b,int h,int w):Point(a,b){H=h;W=w;};
void main()
{
 Point a(3,4);
 Rectangle r1(3,4,5,6);
 a.Show();
 r1.Show();
 r1.Point::Show();
 r1.Display();
}


*004
#include "iostream.h"
class test{
private:
 int i;
 float f;
 char ch;
public:
 test(int a=0,float b=0,char c='/0'){i=a;f=b;ch=c;}
 friend ostream&operator<<(ostream&,test);
 friend istream&operator>>(istream&,test&);
};
ostream&operator<<(ostream&chen,test obj)
{
 chen<<obj.i<<",";
 chen<<obj.f<<",";
 chen<<obj.ch<<endl;
 return chen;
}
istream&operator>>(istream&yong,test&obj)
{
 yong>>obj.i;
 yong>>obj.f;
 yong>>obj.ch;
 return yong;
}
void main()
{
 test A(45,8.5,'w');
 operator<<(cout,A);//cout<<A;
 test B,C;
 cout<<"Input as i f ch:";
 operator>>(cin,B);//cin>>B>>C;
 operator>>(cin,C);
 operator<<(cout,B);//cout<<B<<C;
 operator<<(cout,C); 
}


*005
#include "iostream"
using namespace std;
class number{
 int num;
public:
 number(int i){num=i;}
 int operator++();
 int operator++(int);
 void Print(){cout<<"num="<<num<<endl;}
};
int number::operator++()//++n
{
 num++;
 return num;
}
int number::operator++(int)//n++
{
 int i=num;
 num+=9;
 return i;
}
void main()
{
 number n(10);
 int i=++n;//int i=n.operator++();
 cout<<"i="<<i<<endl;
 n.Print();
 //i=n.operator++(0);
 i=n++;
 cout<<"i="<<i<<endl;
 n.Print();
}


*006
#include "iostream.h"
class complex{
private:
 double real,imag;
public:
 complex(double r=0,double i=0){real=r;imag=i;}
&n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值