天天看點

c++ 函數 類 基礎知識

#include<iostream>

//struct Point

//{

//    int x;

//    int y;

//    //c結構體中不能定義函數 c++中可以

//    //結構體是一種特殊的類

//    void output()

//    {

//        std::cout<<x<<" "<<y<<std::endl;

//    }

//

//};

//上面的結構體可以換成類

class Point

{

public:

    int x;

    int y;

//構造函數

Point()

{

    x=0;

    y=0;

}

//函數重載

Point(int a,int b)

{

    x=a;

    y=b;

}

//析構函數

~Point(){}

void output()

    {

        std::cout<<x<<" "<<y<<std::endl;

    }

void output(int x,int y)

{

    //這裡并不是對上面的成員變量進行指派,上面的x,y在這裡不可見

    //形參和成員變量名字沖突

    //x=x;

    //y=y;

    this->x=x;

    this->y=y;

    //this指針 是一個隐含的指針 指向對象本身,代表了對象的位址

}

};

void main()

{

    Point pt(3,3);

    pt.output(5,5);

    //std::cout<<pt.x<<" "<<pt.y<<std::endl;

    pt.output();

}

//每一個類一定有個構造函數,沒有構造函數,就不能建立對象

//構造函數的作用 産生對象

//每一個類 隻能有一個析構函數,一個對象生命周期結束時,占用的記憶體被回收,由析構函數完成

//析構函數不能帶參數,不能有傳回值

//函數的重載[函數的參數類型以及參數個數不同]

繼續閱讀