C++面向对象程序设计学习笔记(3)

类与对象

结构体与类

结构体的扩充

C++对结构体进行了扩充,它不仅可以含有不同类型的数据,还可以含有函数,结构体的函数可以像访问结构体中的数据一样进行访问。

类的声明

声明类的方法与声明结构体的方法相似,它是一种用户定义的抽象的数据类型。类是对象的抽象,而对象是类的实例。

C++为了保护类中数据的安全,将类中的成员分为两类,私有成员(private)和公有成员(public)。私有成员只能被类内的成员函数访问,不能被类外的对象访问,公有成员既能被类内的成员函数访问,也能被类外的对象访问。
类声明的一般形式如下:

class 类名
{
    [privat:] 
        私有数据成员和成员函数
    [public:]
        公有数据成员和成员函数
};

在类的声明中,若不对其成员作private或public声明,系统将其默认为私有的,类声明中还有一种protected,称为保护成员,保护成员能被类内的成员函数访问,也能被本类的派生类的成员函数访问,但不能被类外的对象访问。
类声明中三种关键字都可以按任意次序出现任意次,数据成员可以是任意数据成员,但不能用auto,register或extern进行说明。

成员函数的定义

成员函数的用法与普通函数基本是一样的,只是它属于一个类的成员,可以访问本类中的任何一个成员,其类的声明也与前文一致。
成员函数的有三种定义方式:
(1)在类声明中只给出成员函数的原型,而将成员函数的定义放在类的外部,在类外定义的一般形式是:

返回值类型 类名 ::成员函数名(参数表)
{
    函数体
}

(2)将成员函数直接定义在类的内部。
此时C++编译器会将函数作为内联函数执行(隐式定义)。
(3)在类定义中只给出成员函数的原型,而将成员函数的定义放在类的外部,在类内函数原型声明前或在类外定义成员函数前冠以关键字inline(显式定义)。

对象的定义及使用

对象的定义:
(1)声明类的同时,直接定义对象,即在花括号后添加对象名表。
(2)声明类之后,使用时再定义对象,一般形式如下:

    类名 对象名1,对象名2......

猜你喜欢

转载自www.cnblogs.com/springfield-psk/p/11765364.html