友元函数:如果在本类以外的其他地方定义了一个函数(这个函数可以是不属于任何类的非成员函数,也可以是其他类的成员函数),在类体中用friend对其进行声明,此函数就称为本类的友元函数。友元函数可以访问这个类中的私有成员。友元函数没有this指针,必须指定要访问的对象友元类:类中的所有函数都可以访问私有...
分类:
编程语言 时间:
2014-06-29 00:07:04
阅读次数:
263
相同函数名具有多态性:① 译时的多态(由函数名来调用时体现):重载:同类,不同参② 运行时的多态(用指向不同类的指针来调用):覆盖: 不同类,同参,基类有virtual(由指针的类型来决定,体现了多态性)隐藏:①不同类,同参,基类无virtual②不同类,不同参(不论有无virtual)(由指针来决...
分类:
其他好文 时间:
2014-06-28 22:55:22
阅读次数:
276
高级指针指向结构体变量的指针,称为结构体指针可以使用->指向内容。%p打印地址void pLenth(cPoint *p1,cPoint *p2)//求两点间的距离用的开方函数sqrt()和平方函数pow(,){float a = sqrt(pow((p1->x-p2->x), 2)+pow((p1...
分类:
移动开发 时间:
2014-06-28 22:53:28
阅读次数:
310
里氏替换原则(Liskov Substitution Principle)表述为 "使用基类对象指针或引用的函数必须能够在不了解衍生类的条件下使用衍生类的对象。(Functions that use pointers or references to base classes must be abl...
分类:
其他好文 时间:
2014-06-19 07:24:20
阅读次数:
297
函数指针是一种非常好的类型。因此,可以编写一个函数,它的一个参数是函数指针。然后,在(外部)函数使用其函数指针参数时,就间接地调用在调用函数时对应参数指向的函数。
由于指针在不同的情况下可以指向不同的函数,因此允许调用程序确定要从外部函数中调用哪个函数。
在用函数指针类型的参数调用函数时,参数可以只包含函数地址的相应类型的指针。还可以把函数名作为参数,显示传送函数。作为参数传送给另一个函数的函...
分类:
编程语言 时间:
2014-06-18 07:29:09
阅读次数:
178
引言:在C语言中,指针的地位是不言而喻的,要想很好的掌握C语言,掌握指针是必须的,这也是C语言不同于其他语言的地方。
(一)指针的指针
例子:int i;
int *pi;
/*把pi初始化为指向变量i,pi = &i*/
int **ppi;
/*把ppi初始化为指向变量pi,ppi = &pi*/
初始化指针后,就可以使用它们了。例如i = 'a'; *pi = 'a...
分类:
编程语言 时间:
2014-06-18 07:27:00
阅读次数:
219
1、复合通过包含作为实例变量的的对象指针实现的。
@interface Unicycle : NSObject
{
Pedal*pedal;
Tire*tire;
}//Pedal和tire通过复合的方式组成了Unicycle
2、存取方法——用来读取或者改变某个对象属性的方法。
...
分类:
其他好文 时间:
2014-06-18 07:26:19
阅读次数:
193
函数指针:
函数指针必须包含要调用的函数的内存地址,为了工作正确,指针还必须包含其他信息,即指针所指向的函数的参数列表中的参数类型以及返回类型。因此,在声明函数指针时,必须指定该指针可以指向的函数的参数类型和返回类型,以及指针名。
函数指针的一般形式如下:
返回类型(*指针明名)(参数类型列表);
注意:指针名上的括号是必不可少的,否则*就会与返回类型结合,就成了一个函数原型了。
示例:...
分类:
编程语言 时间:
2014-06-18 07:24:18
阅读次数:
203
C程序的main函数具有两个形参。第1个通常称为argc,它表示命令行参数的数目。第2个通常称为argv,它指向一组参数值。
指针数组:这个数组的每个元素都是一个字符指针,数组的末尾是一个NULL指针。argc的值和这个NULL值都用于确定实际传递了多少个参数。argv指向数组的第1个元素,这就是它为什么被声明为一个指向字符的指针的指针的原因。注意:通常第1个参数就是程序的名称。
示例:
#...
分类:
编程语言 时间:
2014-06-18 07:13:59
阅读次数:
174
#import
//交换函数
void swap(int x, int y)
{
printf("x=%d,y=%d",x,y);
int temp = 0;
temp = x;
x = y;
y = temp;
printf("x=%d,y=%d",x,y);
}
//
void swap2(int *x , int *y)...
分类:
编程语言 时间:
2014-06-18 07:10:13
阅读次数:
302