C++ Primer Plus笔记: 2023.06.05 AND 2023.06.06

1.在C++的赋值语句:

yamaha = baldwin = steinway = 88;

赋值将从右向左进行,首先,88被赋值给steinway,然后,steinway的值(现在是88)被赋给baldwin,然后baldwin的值88被赋给yamaha。

2.类与对象:
**类是用户定义的一种数据类型。要定义类,需要描述它能够表示什么信息和可对数据执行哪些操作,类之于对象就像类型之于变量。也就是说,类定义描述的是数据格式及其用法,而对象是根据数据格式规模而创建的实体。换句话说,如果类就好比所有的著名演员,则对象就好比某个著名的演员,比如蛙人Kermit。我们来扩展这种类比,表示演员的类中包括该类可执行的操作的定义,如念某一角色的台词,表达悲伤,威胁恫吓,接受奖励等。

总结来一句话:类描述了一种数据类型的全部属性(包括可使用它执行的操作),对象是根据这些描述创建的实体。

类描述了可对类对象执行的所有操作,要对特定对象执行这些允许的操作,需要给该对象发送一条消息。在C++中提供了两种发送消息的方式:
(1)使用类方法(实际上就是函数调用)
(2)重新定义运算符(cin和cout采用的就是这种方式)
**

3.函数原型和函数定义:
不要把二者混淆,可以看出,原型只描述函数接口,即发送给函数的信息和返回的信息。而定义中包含了函数的代码,比如计算平方根的代码。C和C++将库函数的这两项特性(原型和定义)分开了。库文件中包含了函数的编译代码,而头文件则包含了原型。

4.主函数的返回值:
main( )的返回值并不是返回给了程序的其他部分,而是返回给了操作系统,很多操作系统都可以使用程序的返回值。例如,UNIX外壳脚本和Windows命令行批处理文件都被设计成运行程序,并测试它们的返回值(通常叫做退出值)。通常的约定是,退出值为0就意味着运行成功,非0则意味着存在问题。

5.注意:在程序中将同一个名称(比如cout)用作对象名和变量名会把编译器搞糊涂。也就是说,在不使用cout对象进行输出的函数中,可以将cout用作变量名,但不能在同一个函数中同时将cout用作对象名和变量名

6.让程序能够访问名称空间std的方法有很多中,其中四种如下:
(1)将using namespace std; 放在函数定义之前,让文件中所有的函数都能够使用名称空间std中所有的元素。
(2)将using namespace std; 放在特定的函数定义中,让该函数能够使用名称空间std中所有的元素。
(3)在特定的函数中使用类似于using std::cout 这样的编译指令,让该函数能够使用指定的元素,比如cout。
(4)完全不使用编译指令using,当要使用名称空间std中的元素时,直接在前面加上std::
比如:

std::cout << "I'm using cout and endl from the std namespace." << std::endl;

你可能感兴趣的:(C++,Primer,Plus,c++,开发语言)