第3章 【课后习题】(完整版)
【3.18】写出下面程序的运行结果
//3.18写出下面程序的运行结果
#include <iostream>
using namespace std;
class test{public:test();~test() {};private:int i;
};
test::test()
{i=25;for(int ctr=0;ctr<10;ctr++){cout<<"Counting at "<<ctr<<"\n";}
}
test anObject;
int main()
{return 0;
}
运行结果
Counting at 0
Counting at 1
Counting at 2
Counting at 3
Counting at 4
Counting at 5
Counting at 6
Counting at 7
Counting at 8
Counting at 9--------------------------------
Process exited after 0.6007 seconds with return value 0
请按任意键继续. . .
【3.19】写出下面程序的运行结果
//【3.19】写出下面程序的运行结果
#include <iostream>
using namespace std;
class Test{private:int val;public:Test()//无参构造函数{cout<<"default."<<endl;}Test(int n)//一参构造函数{val=n;cout<<"Con."<<endl;}Test(const Test& t)//拷贝构造函数{val=t.val;cout<<"Copy con."<<endl;}
};
int main()
{Test t1(6);//调用一参构造函数Test t2=t1;//调用拷贝构造函数Test t3;//调用无参构造函数t3=t1;//不调用任何函数return 0;
}
运行结果
Con.
Copy con.
default.--------------------------------
Process exited after 0.5733 seconds with return value 0
请按任意键继续. . .
【3.20】指出下列程序中的错误,并说明原因
//【3.20】指出下列程序中的错误,并说明原因
#include <iostream>
using namespace std;class Student{public:void printStu();private:char name[10];int age;float aver;
};
int main()
{Student p1,p2,p3;p1.age=30; //错误!!私有数据成员不能直接被访问return 0;
}
编译提示
[Error] 'int Student::age' is private within this context
【3.21】指出下列程序中的错误,并说明原因
//【3.21】指出下列程序中的错误,并说明原因
#include <iostream>
using namespace std;
class Student{int sno;int age;void printStu();void setSno(int d); //注意!!类中没有访问权限关键字的部分会被默认为 private!!
};void printStu() //错误!!如果它是成员函数。正确语句应该是 void Student::printStu()。
{ cout<<"\nSno is "<<sno<<","; //错误!!如果是一般函数,则要定义出 sno,age 这两个变量cout<<"age is "<<age<<"."<<endl; //编译提示:[Error] 'sno' ,'age'was not declared in this scope
}
void setSno(int s) //错误!!如果它是成员函数。正确语句应该是 void Student::setSno()。
{sno=s; //错误!!如果是一般函数,则要定义 sno 个变量
} //编译提示:[Error] 'sno' was not declared in this scope
void setAge(int A. //错误!!基本语法错误,懂的都懂!
{ age=a; //错误!!setAge此时是一般函数,变量age不属于Student类。变量age应该重新定义//编译提示:[Error] 'age' was not declared in this scope
}int main()
{Student lin;lin.setSno(20021); //错误!!不能访问私有成员 编译提示:[Error] 'void Student::setSno(int)' is private within this contextlin.setAge(20); //错误!!setAge()不是成员函数 编译提示: [Error] 'class Student' has no member named 'setAge'lin.printStu; //错误!!不能访问私有成员//语法错误!!调用这个函数的正确语句是 lin.printStu();
}
【3.22】指出下列程序中的错误,并说明原因
//【3.21】指出下列程序中的错误,并说明原因
#include <iostream>
using namespace std;
class Point{public:int x,y;private:Point(){x=1;y=2;}
};
int main()
{Point cpoint; //此处错误!!只有一条编译提示:cpoint.x=2; //[Error] 'Point::Point()' is private within this contextreturn 0; //意思应该是在创建cpoint这个对象时,有构造函数,则要调用构造函数//而此时的构造函数是private,是私有成员,所以又不能访问,所以应该//没人会把构造函数搞成private吧,那这样就失去了构造函数的意义。
}
改法:将自定义的构造函数去掉即可,用默认的构造函数
或者定义为public
【3.23】下面是一个计算器类的定义,请完成该类成员函数的实现
//【3.23】下面是一个计算器类的定义,请完成该类成员函数的实现
class counter{public:counter(int number);void increment(); //给原值加1void decrement(); //给原值减1int getvalue(); //取得计数器值int print(); //显示计数private:int value;
};
代码实现
//【3.23】下面是一个计算器类的定义,请完成该类成员函数的实现
#include <iostream>
using namespace std;
class counter{public:counter(int number);void increment(); //给原值加1void decrement(); //给原值减1int getvalue(); //取得计数器值int print(); //显示计数private:int value;
};
counter::counter(int number) { value=number; }
void counter::increment() { value++; }
void counter::decrement() { value--; }
int counter::getvalue() { return value; }
int counter::print() { cout<<this->getvalue()<<endl; return 0; }
int main()
{counter c(10);c.increment();c.decrement();c.print();
}
【3.24】根据注释语句的提示,实现类Date的成员函数。
//【3.24】根据注释语句的提示,实现类Date的成员函数。
#include <iostream>
using namespace std;
class Date{public:void printDate();//显示日期void setDay(int d);//设置日的值void setMonth(int m);//设置月的值void setYear(int y);//设置年的值private:int day,month,year;
};
int main()
{Date testDay;testDay.setDay(5);testDay.setMonth(10);testDay.setYear(2003);testDay.printDate();return 0;
}
代码实现
//【3.24】根据注释语句的提示,实现类Date的成员函数。
#include <iostream>
using namespace std;
class Date{public:void printDate();//显示日期void setDay(int d);//设置日的值void setMonth(int m);//设置月的值void setYear(int y);//设置年的值private:int day,month,year;
};void Date::setDay(int d) { day=d; }
void Date::setMonth(int m) { month=m; }
void Date::setYear(int y) { year=y; }
void Date::printDate() { cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl; }int main()
{Date testDay;testDay.setDay(5);testDay.setMonth(10);testDay.setYear(2003);testDay.printDate();return 0;
}
输出样例
2003年10月5日--------------------------------
Process exited after 0.5859 seconds with return value 0
请按任意键继续. . .
【3.25】
题目:建立类 cylinder,类 cylinder 的构造函数被传递了两个 double 值,分别表示圆柱体的半径和高度。用类 cylinder 计算圆柱体的体积,并存储在一个 double 变量中。在类 cylinder 中包含一个成员函数 vol0,用来显示每个 cylinder 对象的体积。
代码实现
#include <iostream>
#define PI 3.14159
using namespace std;
class cylinder{public:cylinder(double,double);void volo();private:double r,h,v;
};
cylinder::cylinder(double r1,double h1)
{r=r1;h=h1;
}
void cylinder::volo()
{v=PI*r*r*h;cout<<v<<endl;
}
int main()
{cylinder cy1(2,3);cy1.volo();return 0;
}
输出样例
37.6991--------------------------------
Process exited after 0.4074 seconds with return value 0
请按任意键继续. . .
【3.26】
题目:构建一个类 Stock,含字符串 stockcode 及整型数据成员 quantity、双精度型数据成员price。构造函数含 3 个参数,当定义 Stock 的类对象时,将对象的第 1个字符串参数赋给数据成员stockcode,第2和第3 个参数分别赋给 quantity 和 price。未设置第2和第3 个参数时,quantity的值为1000、price 的值为 8.98。成员函数 print0没有形参,需使用 this 指针,显示对象数据成员的内容。假设类 Stock 第 1个对象的 3 个参数分别为"600001"、3 000和5.67;第2个对象的第1个数据成员的值是"600001",第 2 和第 3个数据成员的值取默认值。编写程序分别显示这两个对象数据成员的值。
代码实现
#include <iostream>
#include <stdlib.h>
using namespace std;
class Stock{public:Stock(string stockcode1,int quantity1=1000,double price1=8.98){stockcode=stockcode1;quantity=quantity1;price=price1;}void print(){cout<<this->stockcode<<" "<<this->quantity<<" "<<this->price<<endl;}private:string stockcode;int quantity;double price;
};
int main()
{Stock stock1("600001",3000,5.67);Stock stock2("600001");stock1.print();stock2.print();
}
输出样例
600001 3000 5.67
600001 1000 8.98--------------------------------
Process exited after 0.3581 seconds with return value 0
请按任意键继续. . .
相关文章:
第3章 【课后习题】(完整版)
【3.18】写出下面程序的运行结果 //3.18写出下面程序的运行结果 #include <iostream> using namespace std; class test{public:test();~test() {};private:int i; }; test::test() {i25;for(int ctr0;ctr<10;ctr){cout<<"Counting at "<<ctr…...

redis安装与配置
目录 1. 切换到 root 用户 2. 搜索安装包 3. 安装 redis 4. 查看 redis 是否正常存在 5. 修改ip 6. 重新启动服务器 7. 连接服务器 1. 切换到 root 用户 通过 su 命令切换到 root 用户。 2. 搜索安装包 apt search redis 这里安装的是下面的版本: 3. 安装 …...
kotlin first/last/indexOf/elementAt
kotlin 中 first 是取集合元素中第一个元素 last 是取集合元素中最后一个元素 indexOf 根据元素寻找下标,默认是第一个 elementAt 根据下标找元素 下面写一个demo 说明下他们几个的使用 val list listOf("A", "D", "A", "…...
计算机网络——网络中要解决的问题
1. 从网络管理的角度看 1.1 配置管理 追踪所有部署的硬件和软件资源,包括设备配置和软件版本。 1.2 故障管理 监控设备的运行状态,以确保所有组件都正常工作,以及快速响应和修复任何故障。 1.3 计费管理 监控资源消耗并进行计费…...

初识STL
目录 💡STL 💡STL六大组件 💡三大组件介绍 💡容器 💡算法 💡迭代器 💡示例 💡STL C STL(标准模板库)是一套功能强大的 C 模板类,提供了…...

程序员副业之无人直播助眠
介绍和概览 大家好,我是小黑,本文给大家介绍一个比较轻松简单的副业,无人直播助眠副业。 这个项目的核心就是通过直播一些助眠素材来赚钱。比如你可以放一些舒缓的雨声之类的,吸引观众进来。然后,咱们可以挂个小程序…...

imazing破解版百度云2.17.3(附激活许可证下载)
iMazing是一款强大的 iOS 设备管理软件,不管是 iPhone、iPad 或 iPod Touch 设备,只要将 iOS 设备连接到计算机,就可以处理不同类型的数据。 iPhone 和 iPad 备份 借助 iMazing 的独有 iOS 备份技术(无线、隐私和自动)…...

VS+QT五子棋游戏开发
1、首先安装好VS软件和QT库,将其配置好,具体不在此展开说明。 2、文件结构如下图: 3、绘制棋盘代码,如下: void Qwzq::paintEvent(QPaintEvent* event) {QPainter painter(this);painter.setRenderHint(QPainter::An…...

SpringBoot中动态注册接口
1. 说明 接口注册,使用RequestMappingHandlerMapping来实现mybatis中动态执行sql使用github上的SqlMapper工具类实现 2. 核心代码片段 以下代码为spring动态注册接口代码示例 Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping;publ…...

CSS 实现两个圆圈重叠部分颜色不同
这是期望实现的效果,由图可知,圆圈底图透明度是0.4,左侧要求重叠部分透明度是0.7,所以不能通过简单的透明度叠加来实现最右侧的效果。 这就需要另外新建一个图层来叠加在两个圆圈重叠上方。 直接看代码 .circle_hight {width: 1…...

【数据库系统概念】第7-14章集合
文章目录 第七章 数据库设计和E-R模型(重点!!!)~~7.1 设计过程概览(了解)~~7.1.1 设计阶段7.1.2 设计选择 7.2 实体-联系模型(重点掌握)7.2.1 实体集7.2.2 联系集联系集的…...

Kibana
Kibana是一个针对Elastic Search的开源分析及可视化的平台,使用kibana可以查询、查看并与存储在ES索引的数据进行交互操作,可以理解为一个客户端的工具,比如mysql和navicat。 使用kibana能执行高级的数据分析,并能以图表、表格和地…...

C#使用 OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率相关方式
C# 去获取电脑相关的基础信息,还是需要借助 外部的库,我这边尝试了自己去实现它 网上有一些信息,但不太完整,都比较零碎,这边尽量将代码完整的去展示出来 OpenHardwareMonitor获取CPU的温度和频率需要管理员权限 在没…...
K8S--- volumesvolumeMount
一、Volume 简介 在容器当中的磁盘文件(on-disk file )是短暂的(ephemeral),这会对重要的应用程序或者数据产生一些问题。当容器崩溃或停止时,会出现一个问题,即容器状态不会被保存,因此在容器生命周期内被创建或者修改的文件都将丢失。在容器崩溃期间,kubelet会以干净状…...

AntV-G6 -- 将G6图表应用到项目中
1. 效果图 2. 安装依赖 npm install --save antv/g6 3. 代码 import { useEffect } from alipay/bigfish/react; import G6 from antv/g6;const data {id: root,label: 利息收入,subLabel: 3,283.456,ratio: 3,children: [{id: child-a,label: 平均利息,subLabel: 9%,ratio:…...
第二百五十回
文章目录 1. 概念介绍2. 使用方法2.1 简单用法2.2 自定义用法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"三方包open_settings"相关的内容,本章回中将介绍另外一个三方包:bluetooth_enable_fork.闲话休提,让我们一起Talk Flu…...

如何把硬盘(分区)一分为二?重装系统的小伙伴不可不看
注意事项:本教程操作不当会导致数据丢失 请谨慎操作 请谨慎操作 请谨慎操作 前言 相信各位小伙伴都会切土豆吧,本教程就是教大家如何切土豆切得好的教程。 啊哈哈哈,开玩笑的。 比如你有一个D盘是200GB,想要把它变成两个100G…...

【AI视野·今日NLP 自然语言处理论文速览 第六十六期】Tue, 31 Oct 2023
AI视野今日CS.NLP 自然语言处理论文速览 Tue, 31 Oct 2023 (showing first 100 of 141 entries) Totally 100 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers The Eval4NLP 2023 Shared Task on Prompting Large Language Models a…...

解决Canvas画图清晰度问题
最近在开发Web端远程桌面的时候遇到的一个问题,解决记录一下,分享给各位有需要用到的朋友。 先吹下水:远程桌面的连接我们是通过Websocket连接后,后端不断返回远程端的界面二进制数据流,我接收到之后转为图像…...

zookeeper经典应用场景之分布式锁
1. 什么是分布式锁 在单体的应用开发场景中涉及并发同步的时候,大家往往采用Synchronized(同步)或者其他同一个JVM内Lock机制来解决多线程间的同步问题。在分布式集群工作的开发场景中,就需要一种更加高级的锁机制来处理跨机器的进…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...