首页 > 代码库 > C++类与对象

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