目录
一、什么是面向程序设计过程
面向程序设计的过程与人们日常生活中的处理问题相似,比如一辆汽车的生产,分别设计和制作发动机、底盘、车身和轮子,最后将他们进行组装,组装部分各有联系,以便协调工作。
这就是面向程序设计的基本思路。
二、类与对象
1、类与对象的关系
①类代表了某一批对象的共性和特征
②类是对象的抽象,对象是类的具体实例
③类是抽象的,不占用内存,对象是具体的,占用存储空间
2.类的声明
C++本身不提供现成的类的名称、结构和内容,C++声明与结构体声明类似。
以下是结构体的声明:
struct student//声明一个结构体类型
{
int num;
char name[20];
char sex;
};
student stud1,stud2;//声明两个结构体变量
现在声明一个类:
class student
{
int num;
char name [20];
char sex;//以上是数据成员
void display()//成员函数
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
};
student stud1,stud2;
可以看到是由结构体演变而来的。
一般来说,不能把类的全部成员都与外界隔离,一般是把数据隐藏起来,把成员函数作为对外界的接口。
class student
{
private:
int num;
char name [20];
char sex;//以上是数据成员
public:
void display()//成员函数
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
};
student stud1,stud2;
一般在类的定义中既不指定private,也不指定public,则系统默认私有。
类声明的一般形式:
class 类名
{
private:
私有的数据和成员函数;
public:
公有的数据和成员函数;
};
private和public称为成员访问限定符。(除此之外,还有一个成员访问限定符protected,用protected声明的成员不能被类外访问,但是可以被其派生类的成员函数访问,详细内容之后说明。)
3.对象的声明
对象是构成系统的基本单位,任何对象都具有属性和行为两个元素,一般来说,凡是具有属性和行为者两个元素的,都可以作为对象。
一个系统中多个对象之间通过一定的渠道相互联系,要使一个对象实现某种行为,就要传递相关的信息。
在C++中,每个对象都是由函数(操作代码)和数据构成,数据体现了属性->函数体现了行为(也叫做方法),调用对象中的函数->则可称为传送一个消息。
例如:
一个三角形对象,边长是它的属性,对该三角形输出相关数据(面积、边长等)称作为行为,调用对象中的函数则为为对象传递一个信息。
方法一:先声明类类型,再定义对象
(1)class 类名 对象名
如:class student stud1,stud2;
(2)类名 对象名
如:student stud1,stud2;
方法二:在声明类类型的同时定义对象
class student
{
private:
int num;
char name [20];
char sex;//以上是数据成员
public:
void display()//成员函数
{
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
};
student stud1,stud2;
在定义了student类的同时,定义了两个student类的对象。
方法三:不出现类名,直接定义对象
class
{
private:
.....
public:
......
}stud1,stud2;
一般采用第一种方法,不提倡用第三种方法。