首页 > 代码库 > C++的笔记学习第一篇,认识C++
C++的笔记学习第一篇,认识C++
在一个类中包含两种成员: 数据和函数,分别称为C++数据成员和成员函数。
关于类:
类是C++新增加的重要数据类型,有了类,就就可以实现面向对象程序设计方法中的封装、信息隐蔽、继承、派生、多态等功能。
关于函数的重载
在编程时,有时我们要实现的是同一类的功能,只是有些细节不同。例如希望从3个数中找出其中的最大者,而每次求最大数时数据的类型不同,可能是3个整数、3个双精度数或3个长整数。
程序设计者往往会分别设计出3个不同名的函数,其函数原型为:
int max1(int a int b, int c); // 3个整数中的最大者
double max2(double a double b double c); // 3个双精度数中最大者
long max3(long a long b long c);// 3个长整数中的最大者
C++允许用同一函数名定义多个函数,这些函数的
参数个数和参数类型不同。这就是函数的重载(function overloading)overloading)。即对一个函数名重新赋予
它新的含义,使一个函数名可以多用
下面就是一个max()函数重载的例子
#include<iostream>using namespace std;int main(){ int max(int a,int b,int c); double max(double a,double b,double c); long max(long a,long b,long c); int i1,i2,i3,i; cin>>i1>>i2>>i3; i = max(i1,i2,i3); cout<<"i_max = "<<i<<endl; double d1,d2,d3,d; cin>>d1>>d2>>d3; d = max(d1,d2,d3); cout<<"i_max = "<<d<<endl; long g1,g2,g3,g; cin>>g1>>g2>>g3; g = max(g1,g2,g3); cout<<"g_max = "<<g<<endl; return 0;}
上例3个max函数的函数体是相同的,其实重载函数并不要求函数体相同。重载函数除了允许参数类型不同以外,还允许参数的个数
例4.6 编写一个程序,用来求两个整数或3个整数中的最大数。如果输入两个整数,程序就输出这两个整数中的最大数,如果输入3个整数,程序就输出这3个整数中的最大数。#include <iostream>using namespace std;int main( ){ int max(int a,int b,int c); max(int a,int b,int //函数声明 int max(int a,int b); max(int a,int int a=8,b=-12,c=27; cout<< max(a,b,c)=′′<<max(a,b,c)<<endl //输出3个整数中的最大者 cout<<′′max(a,b,c)=′′<<max(a,b,c)<<endl; // cout<< max(a,b)=′′<<max(a,b)<<endl cout<<′′max(a,b)=′′<<max(a,b)<<endl;}int max(int a,int b,int c){ if(b>a) a=b; if(c>a) a=c; return a;}int max(int a,int b){ if(a>b) return a; else return b;}
函数模板的定义:
template < typename T> 或 template <class T>
通用函数定义
#include<iostream>using namespace std;template <typename T>T max(T a,T b,T c){ if(b>a) a= b; if(c>a) a = c; return a;}int main(){ int i1 = 185,i2 = -76,i3 = 567,i; double d1 = 56.67,d2 = 90.21,d3 = -321.35,d; long g1 = 6789,g2 = -912345,g3= 674738,g; i = max(i1,i2,i3); d = max(d1,d2,d3); g = max(g1,g2,g3); cout << "i_max = "<<i<<endl; cout << "f_max = "<<d<<endl; cout << "g_max = "<<g<<endl; return 0;}
sting函数的用法,c++ 里面独有的string变量,使用这个string相当强悍
#include<iostream>#include <string>using namespace std;string name[50],num[50];int n;int main(){ void input_data(); void search(string find_name); string find_name; cout<<"please input number of this class:"; cin >> n; input_data(); cout<<"please input name you want to find:"; cin >> find_name; search(find_name); system("pause"); return 0;}void input_data(){ int i; for(i = 0;i<n;i++) { cout<<"input name an NO.of student"<<i+1<<endl; cin>>name[i]>>num[i]; }}void search(string find_name){ int i; bool flag = false; for(i = 0;i<n ;i++) { if(name[i] ==find_name) { cout << name[i] << "has been found,his num is "<<num[i]<<endl; flag = true; break; } if(flag == false) cout<<"can‘t find this name"; }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。