c++学习总结(第二篇)

1、类的定义,以Sales_item为例

class Sales_item{

public:

//Sales_item对象所调用的操作

private:

std::string isbn;

unsigned units_sold;

double revenue;

};//分号不能丢失

类定义以关键字class开始,其后是该类的名字标识符,类体位于花括号里面,花括号后面必须跟一个分号

类体可以为空,类体定义了组成该类型的数据的操作,这些操作和数据是类的一部分,也称为类的成员。操作成为成员函数,而数据则成为数据成员。

2、类的数据成员

定义类的数据成员和定义普通变量有些相似,有个非常重要的区别就是:不能把类成员的初始化作为其定义的一部分。当定义数据成员时,只能制定该数据成员的名字和类型,类不是在类定义里定义数据成员时初始化数据成员,而是通过构造函数的特殊成员函数控制初始化。(PS:构造函数后面会说明,我之前学过java,所以知道构造函数就是用于类的初始化,相信各位大神都知道。不明白的人也不要着急,这个c++系列就是一步一步的个人学习总结)

3、访问标号

上面用到的访问标号是public和private,访问标号负责控制使用该类的代码是否可以使用给定的成员(成员包括成员函数和数据成员)。类的成员函数可以使用类的任何成员,而不管其访问级别。访问标号public、private可以多次出现在类定义中。给定的访问标号应用到下一个访问标号出现时为止。

类中public部分定义的成员在程序的任何部分都可以访问,一般把操作放在public部分,这样程序的任何代码都可以执行这些操作。不是类的组成部分的代码不能访问private成员,通过设定Sales_item的数据成员为private,可以保证对Sales_item对象进行操作的代码不能直接操纵其数据成员。

4、使用struct关键字来定义类

c++支持另一个关键字struct,它也可以定义类类型,struct是从c语言中集成过来的。

如果使用class关键字来定义类,那么定义在第一个访问标号前的任何成员都隐式指定为private;如果使用struct关键字,那么这些成员都是默认为public。

可以等效地定义Sales_item类:

struct Sales_item{ //这里不是class关键字,而是struct

//无需特别声明public访问标号,默认即public

private:

std::string isbn;

unsigned units_sold;

double revenue;

};//同样也有一个分号结尾

使用class和struct关键字定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为public,而class的成员为private。


个人总结及注意点:

(1)说到类的成员不要仅仅只意识到数据成员,同时还有成员函数。所以要注意c++中成员包括数据成员和成员函数。

(2)struct是c语言中学习过的,当时只知道需要定义一个数据结构的时候要用到struct,想不到它还能够跟c++的class关键字起到相同的作用。这句话“相同的作用”我只是自己感觉,说的不对的地方还请大神指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值