重学c++primer(1)

来源:互联网 发布:淮安淘宝运营培训班 编辑:程序博客网 时间:2024/06/08 14:35

<span style="font-size:10px;">由于写博客的时间不长,写的不好,敬请谅解,以后会努力。</span>
<span style="font-size:10px;">                                                 ---------备注</span>
重学c++primer1

1.初识类。

c++中,我们通过定义类来定义自己的数据结构。一个类定义了一个类型,以及与其关联的一组操作。类机制是c++中最重要的特性之一。实际上,c++最初的一个设计焦点是能定义使用上像内置类型一样自然的类类型。

为了使用类。首先了解一下类能干什么?

1.类名是什么?

2.他在哪里定义?

3.它支持什么操作?

其实每个类实际上都定义了一个新类型,其类型名就是类名。比如书上提到的Sales_item类定义了一个名为Sales_item的类型。与内置类型一样。我们可以定义类类型的变量。

Sales_item item;

他表示一个Sales_item类型的对象。除了定义之外,我们还可以干很多事情。比如:

1.调用一个名为Sales_item的函数从一个Sales_item对象中提取isbn书号。

2.用输入运算符和输出运算符读写类型的对象。

3.用赋值运算符将一个Sales_item类的对象的值赋予另一个对象。

4.用加法运算符将两个Sales_item对象相加。

5.使用复合赋值运算符将一个Sales_item对象加到另一个对象里。

下面谈谈类的读写。

先看代码:

<span style="font-size:18px;">#include<iostream>#include"Sales_item"using namespace std;int main(){Sales_item book;cin>>book;cout<<book<<endl;return 0;}</span>
在main中我们定义了一个名为book的对象,用来保存从标准输入读取的数据。下一条语句读取数据存入对象中,第三条语句将对象打印到标准输出上并打印一个endl。

然后是加法。

<span style="font-size:18px;">#include<iostream>#include"Sales_item"using namespace std;int main(){Sales_item item1,item2;cin>>item1>>item2;cout<<item1+item2<<endl;return 0;}</span>
我们定义了两个类的对象来保存销售记录,我们从标准输入读取数据,存入两个对象中,输入表达式完成加法运算并打印结果。

顺便说下文件重定向的问题。

现在大多数操作系统都支持文件重定向,这种机制容许我们将标准输入和标准输出和命名文件关联起来。

在unix命令行为:$ additems <infile> outfile 

2 初识成员函数

<span style="font-size:18px;">#include<iostream>#include"Sales_item"using namespace std;int main(){Sales_item item1,item2;cin>>item1>>item2;if(item1.isbn()==item.isbn()){cout<<item1+item2<<endl;}else{cerr<<"data must refer to same isbn"<<endl;return -1;}}</span>
这个程序中的if语句的检测条件为
<span style="font-size:18px;">item1.isbn()==item.isbn()</span>
调用名为isbn的成员函数,成员函数为定义类的一部分的函数。有时也称为方法。我们通常以类对象的名义调用成员函数,使用点运算符来表达我们需要名为item1的对象的isbn的成员。点运算符只能用类类型的对象,其左侧运算对象必须是一个类类型的对象,右侧运算符是该类型的一个成员名,运算结果为右侧运算对象指定的成员。

当用点运算符访问一个成员函数时,我们使用调用运算符来调用一个函数。调用运算符时一对圆括号,里面放置实参列表。成员函数isbn并不是接受参数。



0 0