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
  • 相关阅读:
    FZU2056 最大正方形(二分答案)
    2014暑期集训个人赛
    2014 acm鞍山现场赛总结
    hdu1853 Cyclic Tour (二分图匹配KM)
    zoj3826 Hierarchical Notation (字符串模拟)
    hdu3047 Zjnu Stadium (并查集)
    hdu4886 TIANKENG’s restaurant(Ⅱ) (trie树或者模拟进制)
    CodeForces 287B Pipeline (水题)
    wpf窗体项目 生成dll类库文件
    sqlserver 汉字转全拼函数
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3886482.html
Copyright © 2011-2022 走看看