zoukankan      html  css  js  c++  java
  • 我的C++笔记(函数部分)

    
    #include <iostream>
    #include <cmath>//C++的数学函数库
    using namespace std;
       class Point{
       public :
        Point(Point &p);//没有任何的返回类型;构造函数函数名必须等于类名;通常被设为共有函数。构造函数在对象被创建的时候将被自动调用。
    
        void init(int x=5,int y=6);//函数在定义时可以预先声明默认的形参值[带默认形参值得函数];注:有默认形参必须在形参的最后,也就是说,
        //在有默认值得形参右面,不能出现无默认值的形参。因为在函数调用中,实参与形参是按从左向右的顺序建立对应关系的。
        int doThat(int x,int y=9,int z=3);
        void print() const;
        void move(int dx,int dy);
       private :
        int x;
        int y;
        int z;
        /*
         * 内联函数:
         * 对于一些功能简单规模较小又使用频繁的函数,可以设计为内联函数;内联函数不是在调用时发生控制转移,而是在编译时将函数体嵌入在每一个调用出。
         * 这样就减少了参数传递控制转移等开销。
         * 注:
         * inline只是一个关键词,表示一个要求,编译器并不承诺将,inline修饰的函数作为内联函数。而在现代编译器中没有被inline修饰的函数也可能被编译成内联函数;
         * 通常内联函数比较简单的函数,语句较少;如果将一个较为复杂的函数定义为内联函数的话反而会造成代码膨胀增大开销,这种情况下,编译器会自动将其转换为普通函数。
         *inline 类型说明符  函数名(含类型说明的形参表){
         *   //语句序列;
         *}
         * */
    };
    void Point::init(int x=4,int y=2){
    
    }
    Point::Point(Point &p){
       x=p.x;
       x=p.y;
    }
    int main(){
          Point a;
          a.init(1,2);
          a.print();
          a.move(2,2);
          a.Point();
        return 0;
    }
    /*
         * 函数部分:
         * 一个C++函数可以由主函数和几个子函数组成,主函数是程序执行的开始点,由主函数调用子函数,子函数可以再调用其他子函数。
         * 调用其他函数的函数称为主函数,被其他函数调用的函数称为被调用函数。
         * 函数的定义:
         *
         * 类型说明符  函数名(函数类型说明的参数表){
         *   //语句序列;
         * }
         *
         *类的定义:
         *class 类名称{
         *   public:
         *   外部接口
         *   protected:
         *   保护型成员
         *   private:
         *   私有成员
         *}
         *
         *类的成员函数:
         *返回值类型   类名::函数成员名(参数表){
         *    函数体
         *}
         *
         *函数的重载:
         * 两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。
         * 注:编译器不以返回值拉丝区分函数。不要将函数功能不同的函数定义为重载函数,以免出现对调用的混淆误解。当使用具有默认形参值的函数重载形式时,需要注意防止二义性。
         *
         *C++的系统函数:
         *
         *
         * */



                                                                                                                         -----------feiruo----------  

    
    

                                                                                                                                                                                                                                                                                   2015.07.21.23:39:31

     
  • 相关阅读:
    AJAX封装(IE)
    CSS3线性渐变
    [Kafka] [All about it]
    [Java][内存模型]
    [python] [Jupyter Notebook]
    [Paper][Link note]
    [TODO]
    [Java] [Singleton] [DCL][happens-before]
    [Java concurrent][Collections]
    Unity AssetBundles and Resources指引 (四) AssetBundle使用模式
  • 原文地址:https://www.cnblogs.com/feiruo/p/4663119.html
Copyright © 2011-2022 走看看