• 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可以在派生类中访问。

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

  • 相关阅读:
    JS提取子字符串函数比较
    js事件定义方式和获取事件对象event总结
    让body的clientHeight与html的clientHeight相等的方法
    关于原型链和继承问题的思考:为什么不能直接把父类的prototype赋值给子类的prototype
    [javascript权威指南笔记02]Throw语句和异常处理机制try/catch/finally
    转载:javascript语句标签
    转:JS中强大的正则表达式
    分享我常用的Javascript工具函数
    对prototype,instanceof和constrctor的理解
    xml基础知识总结和回顾
  • 原文地址:https://www.cnblogs.com/DukeLv/p/8404978.html
Copyright © 2020-2023  润新知