c++

c++类相关

2018-11-10  本文已影响0人  极地冰凌_25bf

c++结构体与c结构体的区别

c语言

struct today
{
    int hour;
    int min;
    int sec;//不可以定义成员函数没有权限控制
};

c++

struct today
{
private://有权限控制
    int hour;
    int min;
    int sec;
public:
    void SetTime(int h,int m,int s)//可以有成员函数设置的是本对象中的变量
    {
        hour=h;
        min=m;
        sec=s;
    }
    void display()
    {
        cout<<hour<<":"<min<<":"<<"s"<<endl;
    }
};

c++类的使用

    #include<iostream>
    struct today
    {
    private://只能被本类中的函数调用,无法从外部直接调用
        int hour;
        int min;
        int sec;
    public://可以直接从外部调用
        void SetTime(int h,int m,int s)//可以有成员函数设置的是本对象中的变量
        {
            hour=h;
            min=m;
            sec=s;
        }
        void display()
        {
            cout<<hour<<":"<min<<":"<<"s"<<endl;
        }
    };

    using namespace std;
    int main()
    {
        today t1;
        t1.SetTime(10,20,40);//通过对象.成员函数/成员变量来调用
      //t1.hour=10是错误的写法 因为hour被private 关键字所修饰
    }

类的权限管理

private:私有权限

    struct SData{
    private://此时i和j只能在本类的内部被使用
        int i;
        int j;
    };

public:公有权限

    struct SData{
    public://此时i和j可以被类的外部使用
        int i;
        int j;
    };

struct和private的区别

struct:主要用于纯的结构体,其成员默认都是public

struct SData{
    int i;//公有成员
    int j;
}

class:由于有功能的开发,其成员默认都是private

class SData{
   int i;私有成员
   int j;
};

this指针

struct SData{
    int i;
    int j;
    int add(int i,int j)
    {
        this.i=i;//this指向本对象
        this.j=j;
        return i+j 
    }
}

c++默认参数

    #include<iostream>
    int add(int x,int y=0,int z=0);//add函数有三个形式参数其中最后一个被赋值了
    int main()
    {
        add(10,20);//此时不用指定最后一个实参,因为定义时已经赋值;定义时已赋值的参数的位置若有实参将会被实参覆盖
    }
    int add(int x,int y,int z=0)
    {
        return x+y+z;
    }
上一篇 下一篇

猜你喜欢

热点阅读