• C++


    专业名词

    类中的属性和行为 统一称为 成员
    类中的 属性 称为成员属性/成员变量
    类中的 行文 称为成员函数/成员方法

     
     

    封装的意义

    封装意义一:
    在设计类的时候,属性和行为写在一起,表现事物
    语法: class 类名{ 访问权限: 属性 / 行为 };
    封装意义二:
    类在设计时,可以把属性和行为放在不同的权限下,加以控制。
    访问权限有三种:
    1. public  公共权限  类内可以访问 类外可以访问。
    2. protected  保护权限  类内可以访问 类外不可以访问  儿子也可以访问父亲中的保护内容。
    3. private  私有权限  类内可以访问 类外不可以访问  儿子不可以访问父亲中的私有内容。

    求圆的面积

    #include<iostream>
    #include<cmath>
    using namespace std;
    const double PI=acos(-1.0);
    
    class Circle
    {
    public://访问权限
        double r;//属性
        double zc()   //行为 获取圆的周长 一般用函数表示
        {
            return 2*PI*r;
        }
    };
    
    int main()
    {
        // 通过圆类创建具体的圆对象
        // 实例化:通过一个类,创建一个对象的过程
        Circle c1;
        c1.r=10;
        cout<<"圆的周长为: "<<c1.zc()<<endl;
        return 0;
    }

    设置学生的 学号 和 id

    #include<iostream>
    #include<string>
    #include<cmath>
    
    using namespace std;
    const double PI=acos(-1.0);
    
    class Student
    {
    public://访问权限
        string name;//属性
        int id;
    
        void show()   //行为 获取圆的周长 一般用函数表示
        {
            cout<<"姓名: "<<name<<" ";
            cout<<"学号: "<<id<<endl;
        }
    
        //还可以通过通过函数给姓名/id赋值
        void set_name(string s)
        {
            name=s;
        }
    };
    
    int main()
    {
        Student stu1,stu2;
        stu1.name="张三";
        stu1.id=1;
    
        //显示学生信息
        stu1.show();
    
        stu2.set_name("李四");
        stu2.id=2;//不赋值的话随机生成,可能是负数
        stu2.show();
    
    //    输出:
    //    姓名: 张三 学号: 1
    //    姓名: 李四 学号: 2
        return 0;
    }

    权限问题:

    #include<iostream>
    #include<string>
    #include<cmath>
    
    using namespace std;
    const double PI=acos(-1.0);
    
    class Person
    {
    public://访问权限
        string name;//属性
    
    protected:
        string car;
    
    private:
        int pwd;
    
    public:
        void w()
        {
            name="张三";
            car="拖拉机";
            pwd=123456;
        }
    };
    
    int main()
    {
        Person p1;
        p1.name="李四";
        // p1.car="奔驰"; 保护权限访问不到
        return 0;
    }
    View Code

    struct和class区别

    在C++中 struct和class唯一的区别就在于 默认的访问权限不同。
     
    区别:
    struct 默认权限为公共;
    class 默认权限为私有。
    #include<iostream>
    #include<string>
    #include<cmath>
    
    using namespace std;
    const double PI=acos(-1.0);
    
    class A
    {
        int x; //默认权限 私有
    };
    
    struct B
    {
        int y; //默认权限 公共
    };
    
    int main()
    {
    //    A s1;
    //    s1.x=100;  会报错
    
        B s2;
        s2.y=100; // 这样可以
        return 0;
    }

    成员属性设置为私有

    优点1:将所有成员属性设置为私有,可以自己控制读写权限
    优点2:对于写权限,我们可以检测数据的有效性
  • 相关阅读:
    百度点聚合功能,自定义针头功能
    iOS之极光推送
    iOS之短信认证
    iOS FMDB
    iOS 远程推送
    iOS之本地推送(前台模式与后台模式)
    iOS指纹识别
    关于——GCD
    关于——NSThread
    给label text 上色 && 给textfiled placeholder 上色
  • 原文地址:https://www.cnblogs.com/OFSHK/p/13073569.html
Copyright © 2020-2023  润新知