上嵌学习笔记

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++ 复写一遍

上一篇下一篇

猜你喜欢

热点阅读