【c++ primer 5th 练习3.43】教程文章相关的互联网学习教程文章

C++Primer第五版 3.5.1节练习

练习 3.27:假设txt_size是一个无参数的函数,它的返回值是int。请回答下列哪个定义是非法的?为什么?Unsigned buf_size = 1024; (a) int ia[buf_size]; (b) int ia[4*7-14]; (c) int a[txt_size()]; (d) char st[11] = “fundamental”.答: c 非法,txt_size()只有在编译的时候才能确定其值,当txt_size是constexpr时正确,否则错误。d 非法 没有空间存放空字符。 应定义为 char st[12] = “fundamental” . 练习 3.2...

C++Primer第五版 3.2.3节练习

练习 3.6:编写一段程序,使用范围for语句将字符串内的所有字符用X代替。#include<iostream> #include<string> using namespace std;int main() {string xx;while (getline(cin, xx)){for (auto &c : xx)c = X;cout << xx << endl;}return 0; }练习 3.7:就上一题完成的程序而言,如果将循环控制变量的类型设为char将发生什么?先估计一下结果,然后实际编程进行验证。合法,可以执行练习 3.8:分别用while循环和传统的for循环重写...

C++Primer第五版 3.2.2节练习

练习3.2:编写一段程序从标准输入中一次读入一整行,然后修改该程序使其一次读入一个词。 练习3.3:请说明string类的输入运算符和getline函数分别是如何处理空白字符的。 练习 3.4:编写一段程序读入两个字符串,比较其是否相等并输出结果。如果不相等,输出较大的那个字符串。改写上述程序,比较输入的两个字符串是否等长,如果不等长,输出长度较大的那个字符串。 练习 3.5:编写一段程序从标准输入中读入多个字符串并将它们连接...

c++-多态的练习

多态的几个小练习 练习一 #include <iostream> #include <string> using namespace std;class Fu { public:Fu(string name){this->name = name;}virtual void func(){cout << "调用了Fu的函数"<<endl;cout<<"Fu " << name <<" func()"<< endl;}string name; }; class Zi :public Fu {public:Zi(string name):Fu(name){}void func(){cout << "调用了Zi的函数" << endl;cout << "Zi " << name << " func()"<< endl;}}; class Zi2 :pu...

《C++ primer plus 》复习题与编程练习(01)【代码】

一 复习题 1 C++程序的模块叫什么? 2 下面的预处理器编译指令是做什么用的?#include <iostream> 3 下面的语句是做什么用的?using namespace std; 4 什么语句可以用来打印短语“Hello, world”,然后开始新的一行? 5 什么语句可以用来创建名为cheeses的整数变量? 6 什么语句可以用来将值32赋给变量cheeses? 7 什么语句可以用来将从键盘输入的值读入变量cheeses? 8 什么语句可以用来打印“We have X variables of...

C++沉思录笔记 —— 第九章:一个课堂练习的分析(上)

目标:编写一系列用以操纵“字符图像”的类与函数。所谓的“字符图像”,就是一个可打印的矩形字符阵列。 9.6之前的代码: Picture.h#include <iostream> #include <cstring> using namespace std; class Picture{ friend ostream& operator<<(ostream&, const Picture&); public: Picture(): height(0), width(0), data(0) {} int max(int m, int n) { return m > n ? m : n; } void init(int h, int w){ ...

【C++练习】002-显示唐诗【代码】

编写C++程序,在屏幕上显示下列唐诗 慈母手中线 游子身上衣 临行密密缝 意恐迟迟归 谁言寸草心 报得三春晖 输入格式: 无输入 输出格式: 照样例显示唐诗《游子吟》,每行一句,无标点。 输入样例: 无 输出样例: 慈母手中线 游子身上衣 临行密密缝 意恐迟迟归 谁言寸草心 报得三春晖 示例代码 #include <iostream> using namespace std; int main() {cout << "慈母手中线" << endl;cout << "游子身上衣" << endl;cout << "临行密密...

C++ Primer(第五版) 19.4.1--19.4.3节练习

19.11 指向数据成员的指针与普通数据指针的区别:不仅要给出成员本身的类型,还需要给出所属类的类型。 19.12 //定义成员指针,指向Screen类的cursor成员 Screen::pos Screen::*pm = &Screen::cursor; //使用该指针获得Screen::cursor的值 Screen myscreen; auto val = myscreen.*pm; Screen *ps = &myscreen; val = ps->*pm; 19.13 std::string Sales_data::*pdata; 19.14 auto pmf = &Screen::get_cursor; //合法...

C++栈类小练习

#ifndef VECTOR_H_ #define VECTOR_H_ #include <iostream> namespace VECTOR { class Vector { public: enum Mode{RECT,POL}; private: double x; double y; double mag; double ang; Mode mode; void setMag(); void setAng(); void setX(); void setY(); public: Vector(); Vector(double n1, double n2, Mode form = RECT); ~Vector(); void reset(double n1 = 0, double n2 = 0, Mode form = RECT); double xVal() const { re...

c++练习【代码】

/*1、写一个排序函数接口,能完成对整数和小数的排序。 2、接口中多传入一个缺省参数,如果不指定,就采用A排序方式,如果指定了,就按他的选择决定排序方式(至少包含三种)。 3、在上述的基础上,完成对结构体的排序。通过传入判断大小的函数来实现。 */ #include #include<stdlib.h> using namespace std; void Sort(int*src1,int n) { int i, j,k; int tmp; for (i = 1; i < n; i++)//从数组第二个数据开始比较,即下标为1的数...

C++_练习—多态_virtual【代码】

多态_virtual /* 父类指针定义对象,当基类与派生类存在相同成员函数,编译器设置为基类中的版本, 为静态多态/静态链接/早绑定:函数调用在程序执行前就准备好了! 在父类相同函数前加 virtual 则编译器看指针的内容,而不是类型!子类定义对象,当基类与派生类存在相同成员函数,调用子类! 父类定义对象,当基类与派生类存在相同成员函数,调用父类!*/ 1 /* 父类指针定义对象,当基类与派生类存在相同成员函数,编译器...

《C++primerplus》第9章练习题【代码】【图】

1.(未使用原书例题)练习多文件组织。在一个头文件中定义一种学生的结构体,存储姓名和年龄,声明三个函数分别用于询问有多少个学生,输入学生的信息和展示学生的信息。在另一个源文件中给出所有函数的定义。在主程序中使用new初始化结构指针,调用三个函数。//main.cpp #include<iostream> #include"Extra.h" using namespace std;int main() {set_student();student * students_pt = new student[student_num];input_student(st...

C++_练习—继承_构造析构【代码】【图】

构造析构 继承与构造析构:在子类对象构造时,需要调用父类构造函数对其继承得来的成员进行初始化 在子类对象析构时,需要调用父类析构函数对其继承得来的成员进行清理 1 #include <iostream>2 3 using namespace std;4 5 class info1 {6 public:7 info1(int a) {8 num1 = a;9 cout << "info1 构造自动调用" << endl; 10 } 11 12 ~info1() { 13 cout << "info1 析构自动调用" << endl; 14...

C++_练习—继承_公有继承【代码】

公有继承公有继承 public: 当类的继承方式为公有继承时,基类的公有和保护成员的访问属性在派生类中  不变,而基类的私有成员不可访问。 即基类的公有成员和保护成员被继承到派生类中仍作为派生类的公有成员和保护成员。派生类的其他成员可以直接访问它们。无  论派生类的成员还是派生类的对象都无法访问基类的私有成员。 1 #include <iostream>2 3 using namespace std;4 5 class info {6 public:7 int getter(void) {8 ...

《C++ primer plus》第5章练习题【代码】

1.输入两个整数,输出两个整数之间所有整数的和,包括两个整数。#include<iostream> using namespace std;int main() {int num1, num2,num_left,num_right,sum = 0;cout << "Input two integers:" << endl;cin >> num1 >> num2;//比较大小,从小的开始累加num_left = num1 < num2 ? num1 : num2; num_right = num1 > num2 ? num1 : num2; for (int i = 0; (num_left+i) <= num_right; i++){sum += num_left + i; }cout <<...