C++基础----数据类型,引用(170208)
2017-02-08 本文已影响12人
Hassan_chao
C++数据类型
数据类型和c语言一致,增添数据类型为布尔类型
bool 布尔数据类型,真为1,假为0
//布尔类型
#include <iostream>
using namespace std;
int main()
{
//false:0
bool bSign= false;
//if(false == bSign) 不建议书写方式
if (!bSign)//建议书写方式
{
cout <<bSign<<endl;
}
//true:1
bSign =true;
cout <<bSign<<endl;
// cout<<"hello"[1]<<endl;
// sizeof(bool)
cout << "bool size"<<sizeof(bool);
return 0;
}
引用 -----不存在独立的存储空间,但内部通过指针实现的
变量引用
数组引用
指针引用
//指针和引用的区别
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
#if 1
int data = 90;
int& ref = data; //引用必须初始化,避免野值问题
//int *p = &data
cout <<"data:"<< data << endl;
cout <<"ref:" << ref<<endl;
ref = 199;
cout <<"data:" << data << endl;
cout << "ref:" << ref << endl;
//引用不能重新作为其他对象的别名
//以下操作将是变量num 的值赋值给data
int num = 88;
cout << "num:" <<num << "&num"<<&num<<endl;
ref = num;
cout << "ref: " <<ref << "&ref "<<&ref<<endl;
cout << "data:" <<data << "&data"<<&data<<endl;
cout << "num:" <<num << "&num"<<&num<<endl;
#endif
int data = 90;
int& ref = data;
const int& abb = 188;
cout << abb<<endl;
return 0;
}
//数组引用
#include <iostream>
using namespace std;
#if 0
//void fun(int *pArr)
//void fun(int (*pArr)[4])
void fun(int (*pArr)[4][5])
{
sizeof(pArr)
}
#endif
void fun(int(&rarr)[3])
//void fun(int(&rarr)[3][4])
//void fun(int(&rarr)[3][4][5])
{
rarr[1] = 90;
cout << sizeof(rarr) << endl;
}
int main(void)
{
int arr[3];
// int arr[3][4];
// int arr[3][4][5];
fun(arr);
cout << arr[1] << endl;
return 0;
}
函数 重载,引用
引用是变量的别名,引用不允许被更该,不允许直接引用常量
构成重载取决于:形参类型的不同,或者参数个数的不同
//函数重载
#include <iostream>
using namespace std;
void fun_max(int nu1,int nu2)
{
if (nu1 > nu2)
{
cout << nu1<<endl;;
}
else
{
cout << nu2<<endl;
}
}
void fun_max(float nu1,int nu2)
{
if (nu1 > nu2)
{
cout << nu1<<endl;
}
else
{
cout << nu2<<endl;
}
}
void fun_max(int nu1,float nu2)
{
if (nu1 > nu2)
{
cout << nu1<<endl;
}
else
{
cout << nu2<<endl;
}
}
void fun_max(float nu1,float nu2)
{
if (nu1 > nu2)
{
cout << nu1<<endl;
}
else
{
cout << nu2<<endl;
}
}
int main(int argc, char const *argv[])
{
int num1 = 10;
int num2 = 29;
float no1 = 20.67;
float no2= 67.876;
//cout << "输入两个数字:";
fun_max(num2,num1);
fun_max(num1,no2);
fun_max(no1,num2);
fun_max(no1,no2);
return 0;
}
总结:
C++ 和c语言,基本类似,更为简洁和易用。
学习方法,将c实现的代码,用c++ 复写一遍