C++Primer 第四章】的更多相关文章

术语表 第 4 章 表达式 算术转换(arithmetic conversion): 从一种算术类型转换成另一种算术类型.在二元运算符的上下文中,为了保留精度,算术转换通常把较小的类型转换成较大的类型(例如整型转换成浮点型).    集合律(associativitay): 规定具有相同优先级的运算符如何组合在一起.结合律分为左结合律(运算符从左到右组合)和右集合律(运算符从右到左组合).    二元运算符(binary operator): 有两个运算对象参与运算的运算符.    强制类型转换…
//1.当我们对运算符进行重载的时候,其包括运算对象的类型和返回值的类型都是由该运算符定义的,但是运算对象的个数和优先级,结合律都是不能改变的 //2.当一个对象被用作右值的时候,用的是对象的值(内容).当对象被用作左值的时候,用的是对象的身份(在内存中的位置). //3.复合表达式:是指含有两个或多个运算符的表达式.求复合表达式的值需要首先将运算符和运算对象合理的组合在一起.优先级和结合律决定了运算对象的组合方式. // 括号无视普通的组合规则,在表达式中括号括起来的部分被当做一个单元来求值,…
4.13.1 #include<iostream> struct students { ]; ]; char grade; int age; }; int main() { using namespace std; students student1; cout << "What is your fistname? "; cin.).get(); cout << "What is your lastname? "; cin.get…
Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[20]; printf("My Handsome Master, please enter your name: \n"); scanf("%s %s", &name, &family); //名字和姓氏一起读的话,需要先输入名字再输入姓氏,中间要有空白字…
[C++Primer]第五版习题解答--第四章[学习笔记] ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/11 第四章:表达式 练习4.6: 判断奇数:if num%2!=0 练习4.9: const char* cp = "hello world"; if (cp && *cp) if语句判断cp表示的字符串以及* cp指向的第一个字符是否都为空. 练习4.10: 实现:为while循环写一个条件,使其从…
第十四章 C++中的代码重用 包含对象成员的类 将类的对象作为新类的成员.称为has-a关系.使用公有继承的时候,类可以继承接口,可能还有实现(纯虚函数不提供实现,只提供接口).使用包含时,可以获得实现,但是不能获得接口. explicit关键字的用法: 防止单参数构造函数的隐式转换,例如定义了如下的构造函数: Student::Student(const string &s, int n); Student::Student(int n); 使用如下的定义: Student st("T…
C++入门第四章:复合类型 1 数组 数组(array)是一种数据格式,能够存储多个同类型的值. 使用数组前,首先要声明.声明包括三个方面: 存储每个元素中值的类型 数组名 数组中的元素个数 声明的通用风格如下: typename arrayname[arrysize]; 注;arrysize指定元素数目,必须是整型常量,不能是变量. 数组的很多用途均基于这样一个事实:可以单独访问数组元素.方法是使用下表或索引对元素进行编号.C++数组从0开始编号,并使用带索引的方括号表示法来指定数组元素. 注…
第十四章 重载运算与类型转换 一.基本概念 重载运算符是具有特殊名字的函数:由关键字operator和其后要定义的运算符号共同组成.也包含返回类型.参数列表以及函数体. 当一个重载的运算符是成员函数时,this绑定到左侧运算对象.动态运算符符函数的参数数量比运算对象的数量少一个. 对于一个运算符函数来说,它或者是类的成员,或者至少含有一个类类型的参数. 只能重载大多数的运算符,而不能发明新的运算符号. 重载运算符的优先级和结合律跟对应的内置运算符保持一致. 通常情况下,不应该重载逗号.取地址.逻…
第四章 表达式 一.基础 重载运算符:当运算符作用在类类型的运算对象时,用户可以自行定义其含义. 左值和右值: C中:左值可以在表达式左边,右值不能. C++中:当一个对象被用作右值的时候,用的是对象的值(内容).被用做左值时,用的是对象的身份(在内存中的位置). 二.算术运算符 溢出:当计算的结果超出该类型所能表示的范围时就会产生溢出. 三.逻辑和关系运算符 短路求值:逻辑与运算符和逻辑或运算符都是先求左侧运算对象的值再求右侧运算对象的值,当且仅当左侧运算对象无法确定表达式的结果时才会计算右侧…
第四章 复合类型 1. 数组概述 1.1 数组的定义 数组(array)是一种数据格式,能够存储多个同类型的值.每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素. 数组声明的三个特点: 存储在每个元素中的值的类型 数组名 数组中的元素数 C++中可以通过修改简单变量的声明,添加中括号(其中包含元素数目)来完成数组声明. 例如: short days[24]; // 一天有24个小时 1.2 数组的声明 声明数组的的一般语法格式为: // 数组类型 数组名字[数组的大小]…