预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共90页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第2章对象、类和派生概述2.类:对象划分成类.
一类对象的描述.
数据成员
成员函数
对象通过类生成
程序设计
以函数为单位;
以类为单位.
程序结构:类结构.用面向对象的程序语言进行程序设计,一个基本工作就是定义程序中所需要的各种对象。采用的方式是先定义对象的类,然后用这些类生成程序中要使用的对象。
把类看成类型,对象看成变量,用类型声名变量;用类声名对象。
类型变量名
类对象2.类和对象classstud
{private:
intnum;
charname[10];
charsex;
public:
voiddisplay()
{cout<<“num”<<num<<endl;
cout<<“name”<<name<<endl;
cout<<“sex”<<sex<<endl;
}
};
studstudent1,student2;访问权限:
类是一个程序范围,在一个类内,private下的成员,仅能被类内的成员函数访问.
public下的成员,能被类内的成员函数和外部的函数访问.
访问表示法:对象名.成员
例:student1.display()public:
成员1;…….成员n构造函数(constructor)
作用:建立对象时初始化;
建立对象时自动执行;
表示方法:同类名
和
析构函数(destructor)
作用:对象灭亡时做善后工作;
对象灭亡时系统自动执行它.
表示方法:类名()classstud
{private:
intnum;
charname[10];
charsex;
public:
stud(){num=10010;sex=f;
name=strcpy(name,”Wang_Li”:}
voiddisplay()
{cout<<“num”<<num<<endl;
cout<<“name”<<name<<endl;
cout<<“sex”<<sex<<endl;
}
};
studstudent1;构造函数可定义如下:
stud(intn,charnamee[],chars)
{num=n;
strcpy(name,namee);
sex=s;
}
studstudent1(10010,“Wang_Li”,f);
studstudent21(10011,“Zhang_Fun”,m);
构造函数可以重载:
stud(){num=10010;sex=f;
strcpy(name,“Wang_Li”);
}
stud(intn,charnamee[],chars)
{num=n;
strcpy(name,namee);
sex=s;
}
studstudent1();
studstudent21(10011,“Zhang_Fun”,m);
例15.2含有析构函数
#include<string.h>
#include<iostream.h>
classstud
{private:
intnum;
charname[10];
charsex;
public:
stud(intn,charnamee[],chars)
{num=n;sex=s;
strcpy(name,namee);
}
stud(){}
voiddisplay()
{cout<<“num”<<num<<endl;
cout<<“name”<<name<<endl;
cout<<“sex”<<sex<<endl;
}
};
Voidmain()
{studstudent1(10010,“Wang_Li”,f),
student2(10011,“Zhang_Fun”,m);
student1.display();
student2.display();
}例15.3在类的外面定义成员函数
#include<string.h>
#include<iostream.h>
classstud
{private:
intnum;
charname[10];
charsex;
public:
stud(intn,charnamee[],chars);
stud();
display();
}stud::stud(intn,charnamee[],chars)
{num=n;strcpy(name,namee);sex=s;}
stud::stud()
{}
voidstud::display()
{cout<<“num”<<num<<endl;
cout<<“name”<<name<<endl;
cout<<“sex”<<sex<<endl;
}voidmain()
{studstudent1(10010,“Wang_Li”,f),
student2(10011,“Zhang_Fun”,m);
student