• c++入门篇五


    默认参数:


    //默认参数
    //函数的默认参数,参数后面有'='
    //函数参数注意事项,如有一个位置有了默认参数
    //那么从该位置的后面就必须要有参数

    void func(int a, int b = 10, int c = 4) {
    //b有默认参数,b的后面也应该要有默认参数,只要有一个位置有,那么之后的也必须要有
    //如果有传入参数,那么就以传入参数为准,如果没有就是默认参数
    //函数声明和实现只能出现一次默认参数
    }
    void  func(int a, int b = 34, int c = 34);//函数声明和函数实现只需要出现一次默认参数就可以
    void  func(int a, int b = 4, int c = 34){}
    func(12,5);//会传入两个参数,a=12,b5,c=34,c的话会使用默认参数

    占位符:

    //占位参数
    //如果有了占位参数,函数调用的时候必须要提供这个参数
    void  fun2(int a, int) {//有了占位符,必修要传入两个参数
    
    }
    
    在c语言中没有默认参数和占位参数



    函数重载
    C++中函数名称可以重复
    必须在同一个作用域内,函数名称相同

    void  test01() {//不在一个作用域之内
    
    }
    class fun {
        void  test01() {
        }
    };

    函数的参数个数不同或者类型不同或者顺序不同
    函数重载碰到了默认参数的问题,要注意二义性的问题
    引用必须要引入合法的内存空间 ,const可以开辟内存空间
    const也可以作为函数重载的判断条件

    void  test02(int  &p) {
    }
    void  test02(const  int &p ) {}//const会开辟一个内存空间,所以在这里被接收到
    test02(5)
    //函数的默认参数,避免二义性
    void  fun(int  a, int  c=4) {
    }
    void  fun(int a) {
    }
    fun(4);//此时有一个函数是带有默认参数的,二义性,不知道如何选择

    函数重载原理:

    编译器为了实现重载,编译器会用不同的参数类型来修饰不同的函数名,比如void  func(),编译器可以回将函数名修饰成_func

    编译如果修饰重载并没有特同同统一的标准

    封装:

    //C++中的封装严格类型转换检测,让属性和行为绑定到一起
    //属性和行为作为一个整体来表示一个事务

    #include  "pch.h"
    #include  <iostream>
    using  namespace  std;
    #include <string>
    
    struct  Person
    {
        int   age;
        char  name[4];
        void  Personeat() {
            cout << "Person:" << name << "吃饭" << endl;
        }
    };
    //定义两个结构体
    struct   Dog
    {
        char  name[5];
        void  Dogeat() {
            cout << name << "吃饭" << endl;
        }
    };
    void  test01() {
        Person  p1;//p1只能是Person的对象,里面只有person结构体的属性和方法,没有另一个结构体的
        strcpy_s(p1.name, "yun");//把这后面的字符封装进去
        p1.Personeat();//这个是已经在执行cout了

    } int main() { test01(); }

  • 相关阅读:
    mmseg4j 中文分词 1.6 版发布
    中文分词 mmseg4j 在 lucene 中的使用示例
    Solr Multicore 试用小记
    学习Javascript和Jquery必备资料
    前端开发 IE 中的常用调试工具
    jQuery学习教程(九):动画
    【jquery插件】SELECT美化,下拉框美化
    Jquery 基础实例源码分享
    关于Jquery显示隐藏的分析
    jQuery判断一个元素是否为另一个元素的子元素(或者其本身)
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/10681017.html
Copyright © 2020-2023  润新知