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++程序设计中,这些特性被广泛使用。
函数重载:同一函数名可以有多个不同的实现方式。
运算符重载:非基本数据类型可以进行类似加减乘除等运算操作。
多态:同一函数可以在基类和派生类中有不同的实现方式。
模板:不同的数据类型可以在同一模板中进行相同的操作。
重载有函数重载和运算符重载。
- Visual C++ 冒险游戏程序设计
- Visual C++程序设计实用教程
- Visual C++程序设计
- Visual Basic 程序设计
- c程序设计
- C程序设计
- C程序设计
- C程序设计
- C程序设计
- 《C程序设计》
- Visual C#程序设计技巧小结
- 《Visual C++程序设计 视频教程》书评
- Visual C++的程序设计技巧
- Visual C++程序设计:局域网技术
- Visual C#程序设计技巧小结
- Visual C#程序设计技巧小结
- Visual C#程序设计技能总结
- Visual C++的程序设计技巧
- ZOJ——2971(模拟)
- DSP之外部设备连接接口之EMIF
- 微内核与宏内核
- [Objective C] 获取类和对象的运行时状态
- java POJO中使用int 还是 Integer??
- Visual C++程序设计
- [Oracle]oracle中去掉文本中的换行符、回车符、制表符小结
- Linux中安装.rpm、.tar和.tar.gz或.tgz包
- 联想FPGA实习项目后11点感受
- ZOJ 2514Generate Passwords
- 推荐一个很全面的编程教程网站(英文)
- UVaOJ 10801 - Lift Hopping
- 解决Failed to load class "org.slf4j.impl.StaticLoggerBinder"
- jquery实例