zoukankan      html  css  js  c++  java
  • C++类与对象

    【1】类的内存问题

      类是抽象的,不占用内存,而对象是具体的,占用
      存储空间。在一开始时弄清对象和类的关系是十分
      重要的。
    【2】类的声明

      如果在类的定义中既不指定private也不指定public,则系统就默认为是私有的。
      归纳以上对类类型的声明,可得到其一般形式如下:
      class 类名
      {

        private:
        私有的数据和成员函数;
        public:
        公用的数据和成员函数;
      };

      (private和public称为成员访问限定符(memberaccess specifier)。

    【3】用struct声明的类,如果对其成员不作private或public声明,系统将其默认为public
             如果在类的定义中既不指定private也不指定public,则系统就默认为是私有的。

    【4】类的成员函数是类体中十分重要的部分。如果一个
      类中不包含成员函数,就等同于C语言中的结构体
      了,体现不出类在面向对象程序设计中的作用

    【5】在类外面声明函数的定义,需要用::来限制函数

      类函数必须先在类体中作原型声明,然后在类外定
      义,也就是说类体的位置应在函数定义之前,否则
      编译时会出错。

      class Student
      {

        public:
          void display( );  //公用成员函数原型声明
        private:
          int num;
          string name;
          char sex;
          //以上3行是私有数据成员
      };
      void Student∷display(//在类外定义display类函数
      {

        cout<<′′num:′′<<num<<endl;
        cout<< name:′′<<name<<endl
        cout<< sex:′′<<sex<<endl
      }Student stud1,stud2;//定义两个类对象

    【6】类的储存方式

        一个对象所占的空间大小只取决于该对象中数据成员所占的空间,而与成员函数无关。函数    代码是存储在对象空间之外的。
        如果对同一个类定义了10个对象,这些对象的成员
        函数对应的是同一个函数代码段,而不是10个不同的函数代码段

    【7】类的数据的更改方式

        通过成员函数对数据成员进行操作称为类的实现,
        为了防止用户任意修改公用成员函数,改变对数据
        进行的操作,往往不让用户看到公用成员函数的源
        代码,显然更不能修改它,用户只能接触到公用成函数的目标代码

    #include<iostream>
    using namespace std;
    
    class Array_max
    {
            public:
                    void set_value();
                    void max_value();
                    void show_value();
            private:
                    int array[10];
                    int max;
    };
    
    void Array_max::set_value()
    {
            int i;
            for(i = 0;i<10;i++)
            {
                    cin>>array[i];
            }
    }
    
    
    void Array_max::max_value()
    {
            int i;
            max = array[0];
            for(i = 1;i<10;i++)
            {
                    if(array[i]>max)
                            max = array[i];
            }
    }
    
    void Array_max::show_value()
    {
            cout<<"max="<<max;
    }
    
    int main()
    {
            Array_max arrmax;
            arrmax.set_value();
            arrmax.max_value();
            arrmax.show_value();
            return 0;
    }
         
    View Code
  • 相关阅读:
    tcp/udp高并发和高吐吞性能测试工具
    beetle.express针对websocket的高性能处理
    深度神经网络(DNN)反向传播算法(BP)
    深度神经网络(DNN)模型与前向传播算法
    分解机(Factorization Machines)推荐算法原理
    用Spark学习矩阵分解推荐算法
    SimRank协同过滤推荐算法
    矩阵分解在协同过滤推荐算法中的应用
    协同过滤推荐算法总结
    用Spark学习FP Tree算法和PrefixSpan算法
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3886482.html
Copyright © 2011-2022 走看看