美文网首页c++
c++类相关

c++类相关

作者: 极地冰凌_25bf | 来源:发表于2018-11-10 19:07 被阅读0次

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;
    }
  • 形式参数的赋值必须从最后一个开始,否则程序会报错,且调用是实参无法缺省

相关文章

  • c++类相关

    c++结构体与c结构体的区别 c语言 c++ c++类的使用 类的权限管理 对类的成员的访问做限制 private...

  • 关于C++层Thread的threadLoop的问题

    相关类Threads.cppthreads.hThread.h 在C++层的输入处理类中碰到一个线程相关的问题1:...

  • OC中引入C++参考步骤

    之前接过一个工程, 要用到C++的类. 本人之前也对C++有所了解, 可是自从入了iOS的坑, C++的相关知识...

  • package & import & 访问控制符

    package 作用 类似 c++ 命名空间,便于控制类权限 相关联的类文件进行归类,便于查阅 对于项目同名的类或...

  • oc c++混编 错误

    file not found 解决办法,找到混编oc和c++的类,这个类 相关的oc中的类。m 后缀名字改为。m...

  • 输入/输出流

    流类简介 在C++的标准类库中,将与数据输入/输出相关的类统称为“流类". istream类提供了流的大部分输入操...

  • 添加视频AVPacket到队列中

    创建C++类-JfVideo,保存Video相关参数:JfVideo.h JfVideo.cpp 找到文件中的视频...

  • C++语言基础(1):类型转换

    相关章节 「C++类的特殊成员函数(1):构造函数」中“3 隐式类类型转换” 考虑下面的例子: 在计算ival的值...

  • C++ 类相关的常量constant

    常量表示一种定义后就不能再修改的量,比如在C中我们常常用const来标志某些量是不可修改的,但是实际上,...

  • C++primer面向OOP程序设计(3)

    1.继承: 在C++语言中,基类将类型相关的函数与派生类不做改变直接继承的函数区分对待。对于 某此函数,基类希望它...

网友评论

    本文标题:c++类相关

    本文链接:https://www.haomeiwen.com/subject/guctfqtx.html