Visual C++程序设计

来源:互联网 发布:京东玩客云抢购软件 编辑:程序博客网 时间:2024/06/05 16:16

        在类的定义中,不能直接对成员变量进行初始化,所以需要对成员变量进行初始化的时候,就需要使用构造函数。构造函数是在对象被创建时调用,完成初始化工作。

        类的成员中除了有构造函数、析构函数级一般的成员变量和成员函数外,还有this指针,静态成员、内联函数及友元函数等成员。

        在C++中,每创建类的一个对象时,系统就会给这个对象的成员变量分配一块存储空间。C++提供了一个this参数来表示函数对应的对象的地址信息,成员函数可通过this参数访问隶属对象的数据。this指针可以理解为指向对象自身。

        当成员函数的参数与类的成员函数变量同名时,则必须要使用this指针,如在构造函数中:CMyPoint(float x, float y){this->x = x;  this->y = y;}

        类在定义时,编译系统并不会为其分配存储空间。只有在创建类的对象时,才依次为对象的每一个成员分配存储空间。但是将类的某一个数据成员的存储类型指定我i静态类型(静态成员)时,则由该类创建的对象并不再为静态成员分配空间,所有的对象将共享系统为该静态成员分配的空间。

        静态成员使用关键字static修饰,静态成员包括静态成员变量和静态成员函数。

        类的静态成员变量是静态分配存储空间的,类的所有对象都将共享这块存储空间。

        当对象被销毁时静态成员变量的存储空间和值将继续保留,直到程序退出,且值为最后一次创建对象时赋予(如果有)它的值。

        在类中声明静态成员变量时,必须在类外对其定性说明,用作用域运算符“::”表明其所属的类,如 int ONE::a = 0语句。系统默认静态成员变量的值为零,所以上述语句可用int ONE::a代替。

        内联函数指的是函数在类内部定义或实现,由inline修饰符标明。 内联函数只针对代码比较少情况。因为该函数内容拷贝到程序中没一个被调用的地方。程序执行代码的大小及执行时所需的内存要比非内联函数大的多。  inline关键字。

        数据封装和隐藏是类的重要特性。通过友元函数访问类中私有和保护类型成员。

        友元函数必须在类内部声明,且必须加上frieiend修饰符说明。友元函数必须在类外部定义,且不能使用类名加作用域运算符“::”标识。跟调用全局函数一样,友元函数可直接在程序中调用,如:print((myPoint)语句。

        友元函数不是类的成员函数,但它可以访问类的私有或保护类型的成员.

        重载,多态以及模板是C++语言的高级特性,这些特性体现了C++程序设计的灵活性、可移植性和可重用性,特别在复杂的Vsiual C++程序设计中,这些特性被广泛使用。

        函数重载:同一函数名可以有多个不同的实现方式。

        运算符重载:非基本数据类型可以进行类似加减乘除等运算操作。

        多态:同一函数可以在基类和派生类中有不同的实现方式。

        模板:不同的数据类型可以在同一模板中进行相同的操作。 

        重载有函数重载和运算符重载。

 

原创粉丝点击