zoukankan      html  css  js  c++  java
  • class--类①

    原来看其他人的代码,发现有好多class之类的语句,当时没太注意。可后来,我觉得应该有学习新知识的必要了。

    类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。这一点和struct差不多。

    class Box
    {
    public:
    double length; // 盒子的长度
    double breadth; // 盒子的宽度
    double height; // 盒子的高度
    };
    

     这里,public是关键字,确定了类成员的访问属性。public在类的外部可以访问的,也可以是

    class Base {
    public:
    // 公有成员
    protected:
    // 受保护成员
    private:
    // 私有成员
    };
    

     public是共有的,可以直接用a.b调用并赋值。

    #include <iostream>
    using namespace std;
    class Line
    {
    public:
    double length;
    void setLength( double len );
    double getLength( void );
    };
    // 成员函数定义
    double Line::getLength(void)
    {
    return length ;
    }
    void Line::setLength( double len )
    {
    length = len;
    }
    // 程序的主函数
    int main( )
    {
    Line line;
    // 设置长度
    line.setLength(6.0);
    cout << "Length of line : " << line.getLength() <<endl;
    // 不使用成员函数设置长度
    line.length = 10.0; // OK: 因为 length 是公有的
    cout << "Length of line : " << line.length <<endl;
    return 0;
    }

    private 私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员。ps:默认情况下,类的所有成员都是私有的。

    #include <iostream>
    using namespace std;
    class Box
    {
    public:
    double length;
    void setWidth( double wid );
    double getWidth( void );
    private:
    double width;
    };
    // 成员函数定义
    double Box::getWidth(void)
    {
    return width ;
    }
    void Box::setWidth( double wid )
    {
    width = wid;
    }
    // 程序的主函数
    int main( )
    {
    Box box;
    // 不使用成员函数设置长度
    box.length = 10.0; // OK: 因为 length 是公有的
    cout << "Length of box : " << box.length <<endl;
    // 不使用成员函数设置宽度
    // box.width = 10.0; // Error: 因为 width 是私有的
    box.setWidth(10.0); // 使用成员函数设置宽度
    cout << "Width of box : " << box.getWidth() <<endl;
    return 0;
    }

    protected和private很像,但protected可以在派生类中访问。

    至于派生类是什么,下次再说。

  • 相关阅读:
    电脑分辨率与pc端页面布局
    webpack打包优化并开启gzip
    JS继承实现的几种方式
    angular项目使用Swiper组件Loop时 ng-click点击事件失效处理方法
    浅谈JSONP (vue-jsonp组件 XXXtoken:报错处理)
    vue项目webpack打包后图片路径错误
    页面渲染过程详解
    vscode调试html页面,及配置说明
    跨域请求cookie获取与设置问题
    HTTP 错误 500.21
  • 原文地址:https://www.cnblogs.com/DukeLv/p/8404978.html
Copyright © 2011-2022 走看看