zoukankan      html  css  js  c++  java
  • 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:对于写权限,我们可以检测数据的有效性
  • 相关阅读:
    [WEB]对于"Refused to execute script from 'http://xx.xx.xx/yy/zz.js' because its MIME type ('') is not executable, and strict MIME type checking is enabled."问题的解决办法
    Linux下为python3.6.5配置环境变量
    Yii2自带验证码实现
    php在Nginx环境下进行刷新缓存立即输出,实现常驻进程轮询。
    php文件锁解决少量并发问题
    过滤各种不合法标签数据
    wampserver下升级php7
    php异步请求(可以做伪线程)
    linux 定时执行shell
    记一次工单排查经历(修改显示时间)
  • 原文地址:https://www.cnblogs.com/OFSHK/p/13073569.html
Copyright © 2011-2022 走看看