类的声明和对象的定义

类和对象的关系

在C++中对象的类型称为类。类是对象的抽象,而对象是类的具体实例。
类是抽象的,不占内存,而对象是具体的,占用存储空间。

声明类的类型

一般形式:

1
2
3
4
5
6
{
private
私有的数据和成员函数;
public
公用的数据和成员函数;
}

定义对象的方法

一般形式:

1
class 类名 对象名;

类的成员函数

类的成员函数是函数的一种,它可以被指定为private(私有的),public(公用的),protected(保护的)。
一般的做法是将需要被外界调用的成员函数指定为public,它们是类的对外接口,而为本类中的成员函数所调用的,就指定为private。

对象成员的引用

在程序中经常需要访问对象中的成员。访问对象中的成员函数有以下三种方法:

  • 通过对象名和成员运算符访问对象中的成员
  • 通过指向对象的指针访问对象中的成员
  • 通过对象的引用访问对象中的成员

    通过对象名和成员运算符访问对象中的成员

访问对象成员的一般形式:

1
对象名.成员名

使用例:

1
2
3
4
5
class A{
void show();
}

A.show();

在类外只能调用公有的成员函数,在一个类中应当至少有一个公有的成员函数,作为对外的接口,否则无法对对象进行任何操作。

通过指向对象的指针访问对象中的成员

例:

1
2
3
4
5
6
7
8
class Time{
public:
int hour;
int minute;
};
Time t,*p; //定义对象t和指针变量p
p=&t; //使p指向对象t
cout<<p->hour<<endl; //输出p指向对象中的成员hour

*在p->t的前提下,p->hour,( * p).hour,t.hour三者等价*

通过对象的引用访问对象中的成员

例:

1
2
3
4
5
6
7
8
class Time{
public:
int hour;
int minute;
};
Time t1; //定义对象t1
Time &t2=t1; //定义Time类引用t2,并使之初始化为t1
cout<<t2.hour<<endl; //输出对象t1中的成员hour