Вы находитесь на странице: 1из 3

����C++������� ��麯�����麯��

--------------------------------------------------------------------------------
��������:С�� ����4 :���� �� ����ʱ��:2005-03-30 15:44:57

�麯��

ʲô���麯���

�麯����ָһ��������ϣ�����‫ص‬ij�Ա��������һ�����ָ�������ָ��һ��̳�������ʱ�������һ���麯

��ʵ�ʵ��õ��Ǽ̳���İ 汾��
���� ��msdn
ʲô�Ƕ�̬������
��̬��������������ƺ������̳�����Ƶ���Ҫ���֮һ����ν��̬��һ���

�˵����������ӣ����Ӳ�ͬ����̬����ͬһ�����ֶο�����4������ֲ�ͬ�����

����������Ҫ�����麯��ĸ�ʽ����(ʲô��ĺ���Ž��麯��)�������麯��ʱ��‫�����ע‬

�麯���dz�Ա��������Ƿ�static�ij�Ա����˵���麯��ķ������£�
virtual <����˵���><������>(<�����>)
���У���� ���virtual˵��ĺ����Ϊ�麯��

���ij���е�һ���Ա����˵��Ϊ� 麯

�������ζ�Ÿó�Ա�������������п����в���ʵ�
ͬ ֡�����һ��� ����ǡ����ӵĶ� �����衱

������һ��м���ʿ����������������������������һ��ѻ�������� ��������������

�������Dz���˵�����������磬�������� ��������ϰֵĶ���ǰ��裬���

‫���������ڶ‬ǽ�����Ϣ������ˡ���

(1) �������麯������ͬ�IJ������

(2) �����������������麯��Ķ�Ӧ������������
ͬ

(3) � ��ֵ����������麯�����ͬ����� �����ָ������ã������������麯����

‫������ָ�ص‬õĻ������ǻ����б��滻���麯����

‫������ָ�ص‬õĻ����͵������͡���������� �ʶ�֣��������������t�ѧ�Ķ���4�����ţ��q�һ��

һ��Ҫ�������˵�����麯���������˵����麯��Ӧ����������麯

��IJ��������ȣ���Ӧ�����������ͬ�������ͬ�����������麯

��IJ��������ǿ��‫��ת‬Ϊ�������麯��IJ������͡�

������

���д��麯������Ϊ����� ��������һ�������� ����Ϊ�˳������Ƶ�Ŀ�Ķ�b�ģ����

̳‫ڼ‬в�νṹ�Ľ��ϲ 㡣�������Dz��������
ܶ ģ���ʵ����Ϊ��ǿ��һ�����dz���� �ɽ�����Ĺ��캯

��˵��Ϊ�����ķ��ʿ���Ȩ�‫�ޡ‬
���������Ҫ�����ǽ��й ‫��֯���ص‬һ��̳в�νṹ�У�����4Ϊ�����ṩһ����ĸ���‫������ص‬Ǵ����������4�ġ�

�������һ���ֻ�ģ� �

������̻���һ������IJ��� ‫�����ͨ�ڵ‬壬��Щ����Ҳ������� һ���� �������ֻ����������� ͬ

�IJ��� ‫��������ڣ‬ʵ��������

������ֻ����Ϊ����4ʹ�ã�� �麯���ʵ���������������������û�����¶��崿�麯

���������ֻ�Ǽ̳л���Ĵ��麯���������������Ȼ����һ������ ����������и���˻��ിി�麯

���ʵ�֣����������Ͳ� ���dz������ ˣ����� һ���� Խ� b���� ľ������ �


ˡ

һ��ʵ��
class ��()
{public :
//......
void ��()
{�˳ �;
}
//......
char *name;
int age;
};

class ��()
{public :
//......
void ��()
{����ʺ;
}
//......
char *name;
int age;
};
��� ������һЩ���Ķ����������
ͬ ֣���ͣ��ԵĶ���ȣ������뵽

��Ϊ�˴�������ã�������̳й�� ������ �����������뷨�군

�ˣ��������������ɲ����Զ���һ��������

����������� ��֮� ������͹��

�е�һЩ����������������
ͣ ֣�����ʲô�ģ������Dz�����ʵ��ģ���Ĵ�������Ҳ��ֻ��Ϊ�����������

��� ������������ʹ ���!�������������������ô���

������=�� ����‫��֮�˹����ڽ‬Ķ�������������˹�֮��� �еġ�� �Ҳ��ûʲô���壬��Ҳ����Ϊ��������¸��

壬����Ҳû��Ҫ�����Զ�����Ϊ���麯����ʽΪ��virtual void ��()=0; ��4���� ��


1����������û�к�����;
2��ӵ�б���������dz�����;
�����
ܻ ˵����Ȼ���麯��ûʲô���壬 Ϊʲô��Ҫ�����������ʲô�‫�أ‬

Ϊʵ�ֶ�̬�� ��!!!
�麯������ã�

֮ : ��ʵ��
һ ͬ

֮��: �����Զ

֮��: ������֮,������֮

���‫����ڶ‬Եĵ���˵��

ʲô�Ƕ���� ���������
� 4˵��Dz������� 壬 Ϊʲô��������壿�����Ҿ ‫����ٸ‬ӣ����㵽

�̵�ȥ���̣����ǻƺ�¥����150��24��18����λ�ģ������̣�Ҳ����˵�������ǵĻ�� ����Ҫ���İ���‫�����أ‬ϰ 彫

�����ð�ƺ�¥��������֪���������Ǯ���̣ � ����Ͳ ����˶����

�ʱҲ����
ͬ ˶����Եͻ
Ľ������ϰ� ���� 㣺�������Ǯ һ��ģ���������
�����ѡ���ˣ����DZ�����Ὺ����������ĸ���ij�Ա����������Ҫ����˵���
� y::gety()�

�ܽ

�ø�������4�ܽ �������‫��أ‬Ǿ�̬�Ķ�̬����̬j� ������������Ϊ����ȥ�͹

Է������Ų��IJˣ�����
ͬ ͬ ���͵IJ����
���� �
ͬ õ�� һ˫���ӣ��������
ͬ Լ���� ֳ �����ָʹ���˰���ʵ�ֹ��

‫������֣���� ��ܣ‬ʳ�������麯���Ƕ�̬�Ķ�̬����̬j�

�������������Ϊ����Ҫô�Ƕ������õ����˻�������Ǯ�Ŀ�ү�������� �ͣ �

� ������֣����ҳԵú�������
ܽ ͬ��ʳ��Ҫ�ò�ͬ�IJ; ���ͬ�Ķ��

�������ʹ�����ˣ������Ա����ʵ�ֹ��‫�ܣ‬ι�� ���ֻҪʹһ�
ָ £�����ָ�������ָ� �Ok�ˡ��4���
˿ ‫����ڱ‬Ҳ���

‫��������� ڳ‬Ӧ�Ĺ��‫����������ܣ‬û�ж��֣�����Ҫ���µ�С�ܸ �������Ա����ʵ�ֹ��‫���ܣ‬

ֻ�д��벻��˵�ѣ�ֻ�б�����Ż�˵�滰��

Вам также может понравиться