【c++】类与对象
一 .类的定义
二.对象的定义和使用
参考:
《c++从入门到精通》 人民邮电出版社
首先,区分以下声明和定义。
声明:是向计算机介绍名字,即这个名字是什么意思。
定义:是为这个名字分配内存空间。
一 .类的定义
类的定义,分为类的声明部分和类的实现这两部分。
类的声明:声明该类中的成员(成员数据和成员函数)。
类的实现:用来定义成员函数,该函数用来对成员数据进行操作。
类定义的形式:
类成员有三种访问权限:
(1)public(公有):可以在类外访问
(2)private(私有):该成员只能被该类的成员函数访问
(3)protected(保护):该成员只能被该类的成员函数或派生类的成员函数访问
其中,数据成员通常是私有的,成员函数有公有的和私有的。公有的成员函数可在类外被访问,也称之为类的接口。
二.对象的定义和使用
类是用户定义的数据类型(不占内存),对象是类的实例(占内存单元)。
对象是类的实例,对象属于某个已知的类。因此在定义对象前,要先定义类。
例如之前定义了一个Cdate类,则可以定义一个Cdate的对象,如下:
Cdate d; //对象的定义
一个对象的成员就是该对象的类的成员,其中包含成员数据和成员函数。然后可以使用“. ”(成员运算符)来使用成员变量和函数。
d.setDate(2018,5,6);
d.print();
完整程序如下:
//类的定义.cpp
#include<iostream>
using namespace std;
//类的定义
class Cdate
{
public:
void setDate(int x,int y,int z); //成员函数声明
void print(); //成员函数声明
private:
int year,month,day; //成员数据 声明
};
// 成员函数的实现
void Cdate::setDate(int x,int y,int z)
{
year=x;
month=y;
day=z;
}
// 成员函数的实现
void Cdate:: print()
{
cout<<year<<" "<<month<<" "<<day<<endl;
}
int main()
{
Cdate d; //对象的定义
d.setDate(2018,5,6); //对象使用成员函数
d.print();
return 0;
}
运行结果:
------------------------------------------- END -------------------------------------