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

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

  • 相关阅读:
    Sqlite官方的查询优化文档
    VC++动态链接库(DLL)编程深入浅出(三)转
    用Python查询手机号码归属地
    Delphi使用迅雷的开放下载引擎下载
    Android基础之一
    VC++动态链接库深入浅出(转)
    在Python脚本中使用Delphi控件
    Python与其他语言结合的参数转换函数PyArg_ParseTuple()
    设计模式之模板方法模式(Template)
    设计模式之简单工厂模式(Simple Factory)
  • 原文地址:https://www.cnblogs.com/DukeLv/p/8404978.html
Copyright © 2011-2022 走看看