上一页 1 ··· 11 12 13 14 15
摘要: 1.动态内存和类:类静态成员:不能在类声明中初始化类静态成员,应为声明描述了如何分配内存,但并不分配内存。类静态成员是单独存储的,而不是对象的组成部分。总而言之,静态数据成员应在类声明中声明,在包含类方法的文件中初始化,初始化时使用类作用域操作符::来指出静态成员所属的类,但静态成员如果是整型或枚举型const,则可以在类声明中初始化。隐式成员函数:C++主要提供了这些隐式成员函数:(1)默认构造函数,如果没有定义构造函数(2)复制构造函数,如果没有定义(3)赋值操作符,如果没有定义(4)默认析构函数,如果没有定义(5)地址操作符,如果没有定义复制构造函数:用于将一个对象复制到新创建的对象中, 阅读全文
posted @ 2013-03-17 19:32 Jamy Cai 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 引言:本章的重点是类的设计技术,而不是通用原理1.操作符(运算符)重载:操作符重载本质(实质上)是一个函数(方法),不能重载基本类型的运行。语法为:void operator+(const classs & i);class c;c.operator+(const class & i);//说明operator+ 就是个函数即: operator+()几乎可以重载所有的c操作符,但是也有其限制,主要有以下一些限制:(1)重载后的操作符必须至少有一个操作数是用户定义类型,这将防止用户为标准类型重载操作符(2)使用操作符时不能违反操作符原来的语法规则,也不能修改操作符的优先级。(3 阅读全文
posted @ 2013-03-17 19:28 Jamy Cai 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 这部分是c++升级c的主要内容,也是c++的精髓部分,c是面向过程的,而C++是面向对象的。面向对象编程(OOP)的最重要特性有:*抽象*封装和数据隐藏*多态*继承*代码的可重用性1.抽象和类:C++中的类,是一种将抽象将抽象转换为用户定义类型的C++工具(其他面向对象语言也类似,如java),它将数据表示和操纵数据的方法组合成一个整洁的包。定义类的规范有两个部分:类声明和类方法定义。类声明:以数据成员的方式描述数据部分,以成员函数(也成为方法)的方式描述公有接口。类方法定义:描述如何实现类成员函数。简单地说就是,类声明提供了类的蓝图,而类的方法定义则提供了实现细节。对类成员的控制访问:由于隐 阅读全文
posted @ 2013-03-17 19:18 Jamy Cai 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1.单独编译:跟C语言一样,C++也允许甚至鼓励程序员将组件函数放在独立的文件中。2.程序结构:包括三部分: 头文件:包含结构声明和使用这些结构的函数的声明 源代码文件:包含与结构有关的函数的代码 源代码文件:包含调用与结构相关的函数的代码头文件常包含的内容如下: (1)函数原型 (2)使用#define或const定义的符号常量 (3)结构声明 (4)类声明 (5)模板声明 (6)内联声明3.include头文件 尖括号和双引号的区别:采用尖括号,则C++编译器将在存储标准头文件主机系统的文件系统中查找;如果采用双引号,则编译器将首先查找当前工作目录或源代码目录(或其他目录,这取决于编译器) 阅读全文
posted @ 2013-03-17 19:15 Jamy Cai 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 1.内联函数:是以空间(内存空间)代价换取时间的(程序执行效率),不能使用递归。既可以用于值传递,也可以用于地址传递,而宏不能用于值传递。内联函数一般在如下情况下采用:程序中多次调用,而且函数代码执行时间较短时采用。2.引用(变量):主要用途是用作函数的形参。3.引用与指针的区别:(1)引用必须在其声明时就初始化,即必须在创建时就将它初始化,而不像指针那样,可以先声明,后初始化#include<iostream>usingnamespacestd;intmain(){intrat=100;int&shu=rat;cout<<"rat="< 阅读全文
posted @ 2013-03-17 19:10 Jamy Cai 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 1.函数原型:函数原型描述了函数到编译器的接口,也即是说它将函数返回值的类型以及参数的类型数量告诉编译器。2.指针和const:const用法有两种:一种是让指针指向一个常量对象(指针所指的内容是const),另一种是将指针本身声明为常量(指针为const)。intage=39;constint*pt=&age;intconst*pt与constint*pt是完全相同的。该声明指出,pt指向一个constint(这里是39),因此不能用pt来修改这个值,也即是说,*pt的值为const,不能被修改(不能通过*pt修改age的值),但是可以通过age修改age的值。在C++中,禁止将co 阅读全文
posted @ 2013-03-17 19:03 Jamy Cai 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 1.数组名其实是个地址。2.结构体访问成员,如果是指针则采用“->”成员操作符,如果是结构名,则采用“.”成员操作符。3.共用体(union)能够存储不同的数据类型,但是只能同时存储其中的一种数据类型。就是说,结构可以同时存储int、char和long类型,而共用体只能存储int、char或long类型。4.指针:用于存储地址的。指针名表示地址,*操作符称为间接值,或解除引用操作符.int*pointer中int*是个类型,是个指向int的指针(地址)。使用new和delete时,应遵守以下规则:(1)不要使用delete释放不是new分配的内存(2)不要使用delete释放同一内存块两 阅读全文
posted @ 2013-03-17 19:02 Jamy Cai 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 1.成语函数cout.put()是通过类对象cout来使用put()函数,提供了显示一个字符的方法,可以替代<<操作符。2.强制类型转换:intnum;longlong(num)(c++格式);转换不会修改num本身,而是创建一个新的、指定类型的值,在表达式中可以使用这个值。c++格式就是想像函数那样调用。 阅读全文
posted @ 2013-03-17 19:01 Jamy Cai 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 1.cout对象的实质:cout<<"myC++";实质上是把字符串“myC++”插入到输出流中,<<表示插入输出符。cin类似。2.在头文件中的声明是编译器要求的,在C++中,不能调用事先未声明的函数。还有一种就是将自定义函数写在main()函数之前,这样编译器才能往前查找,以便于识别。3.c++结构声明不用像c语言那样必须加typedef,只需这样:structMyStruct{}即可;使用时直接可以像使用简单类型那样使用,如:MyStructmyname{intname;charc;};个人觉得结构体应该就是c++类的前身。结构体中可以包含结构 阅读全文
posted @ 2013-03-17 19:00 Jamy Cai 阅读(192) 评论(1) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15