C++基础

| |
[不指定 2008/05/04 03:09 | by song ]
C++基础

C++例程分析
#include "iostream.h"
int main(void)
{  int x;
  cout<<"输入x=";
  cin >>x;
  cout<<"x="<  return 0;
}

数据类型
变量(variable)
基本数据类型  char short int long (unsignedg正数)整型
        float double 浮点
        const常数
自定义数据类型
结构(struct)
  struct 标识符{  类型1 变量1;
          类型2 变量2;
          …     …
          类型n 变量n;
          }
    例:struct abc {int a;float b;char c;}
      abc a0;
      a0.a=1;  a0.b=1.1;  a0.c='a';
联合(union)
  union 标识符{  类型1 变量1;
          类型2 变量2;
          …     …
          类型n 变量n;
          }
    例:union abc {int a;float b;char c;}
    abc a0;  //定义a0为联合abc变量,a0可同时是int,float,char型
    
枚举(enum)
  enum 标识符{成员1、成员2、…、成员n}
  例:enum abc{a,b,c};    //定义枚举类型abc
    abc a0;        //定义a0为枚举abc变量
    a0=b;  a0=1;    //是等价的
sizeof运算符
  计算变量或类型的字节长度
  例:int x;
sizeof(x);      //值为2
sizeof(double);    //值为8
    条件运算符
      y=(x>1)?x:0等价于
      if(x>1)  y=x;
      else    y=0;

函数(function)

类  (class)
  类定义
  class 类名
  {private:
   //私有类型,类本身调用。
   public:
   //公有类型,外部可调用。
   protected:
   //保护类型,派生类可调用。
  };
  类实例
  class abc
  {private:
int p_var;
   public:
    void init(int a);
    int show(void);
  };
  void abc::init(int a)
{
}
int abc::show(void)
{
}

main()
{abc a0;
a0.p_var=5;
a0.init(10);
a0.show();
}
对象(object)
    对象就是类的变量;如上面的a0。
    对象声明后;就可以通过对象使用类中的公用数据和函数。
    对象名•数据成员  或对象名•成员函数
  
    内联成员函数
      在类定义中直接给出成员函数的声明。内联成员函数调用时间短,代码长。
      class abc
      {
       int x;  //默认为private型
       public:
        void init(int x,int y)    //内联成员函数
          {
          }
        int show() {return x;}  //内联成员函数
      };

    关键字 inline 可以将类外声明的成员函数视为内联函数
      class abc
      {
       int x;  //默认为private型
       public:
        void init(int x,int y)  ;
        int show();
      };
      inline abc::void init(int x,int y)  //内联成员函数
        {
        }
      inline abc::int show() {return x;}  //内联成员函数

    结构和类
      结构是类的特例,在结构中也可定义成员函数。
      struct abc
      {
       int x;  //默认为private型
       public:
        void init(int x,int y)  ;
        int show();
      };
      inline abc::void init(int x,int y)  //内联成员函数
        {
        }
      inline abc::int show() {return x;}  //内联成员函数
结构与类的区别是;默认时,结构中所有成员是公有的,类中是私有的。一般我们还是在只描述数据时用结构,同时描述数据、函数时用类。

    this指针
    构造函数和析构函数
      构造函数是和所属类同名的特殊成员函数,用于类数据的初始化。可重载。
  析构函数也是和所属类同名的特殊成员函数,前面加个~,作用与构造函数相反,用于释放内存,声明对象消亡。不可重载。

静态成员
  类的成员可用static 修饰为静态成员。类定义后,不用建立对象,都可以使用类的静态成员。
  class abc
  {public:
   static int x;
       static int show();
  }
  
  abc::x=1;    //全局使用
  main()
  {abc::x=1;
   abc::show();
  }

友元函数
  友元函数可以访问对象的私有成员,但破坏了数据的封闭,建议少用。
类的继承
  被继承的类叫基类,继承的类叫派生类。
  单一继承
    继承关系中只有一个基类。
    class 派生类名:访问权限 基类名
    {成员说明;
};
访问权限默认为public。
例如:
class a0
{public:
  void fun1();
};

class a1:private a0 (私有)
{public:
  void fun2();
};

class a2:public a1 (公有)
{public:
  void fun3();
}

main()
{a2 abc;
adc.fun1();  //错误,fun1()在a1中是私有的。
adc.fun2();  //正确
adc.fun3();  //正确
}
      保护成员
        protected保护类型,对派生类是公有的,对外部是私有的。
      多重继承
      一个类从多个基类派生。
      class 派生类名:访问权限 基类名1,…,访问权限 基类名n
{成员说明;
};
例如:
class a0    //基类1
{public:
  void fun1();
};

class a1:    //基类2
{public:
  void fun1();
};

class a2:public a1,public a2  //同时继承a0,a1
{public:
  void fun2(int x,int y);
}
void a2::fun2(int x,int y)    //a0,a1中都有fun1()
{a0::fun1(x);          //用域成员运算符区别。
a1::fun1(y);
}
      初始化基类成员
构造函数和析构函数是不能继承的,派生类只能调用它的直接基类的构造函数。
    多态性和虚函数
C++可以建立具有相同成员函数名的对象的等级结构,不同的类其功能不同;所以对象在接受同一函数调用的行为有不同,这一功能称为多态性。
C++支持两种多态性;
编译时的多态性,通过使用重载函数获得。
运行时的多态性,通过使用继承的虚函数来获得。
虚函数
  

Tags: , ,
PHP技术 | 评论(0) | 引用(0) | 阅读(776)
打開更多相關 C++基础 的信息
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 如果无法察看请点击更换图片
请输入上面的字母,不区分大小写