【C++】——类与对象(一)

news2024/11/25 23:56:46

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

 目录

🎯第一题:

🎯 第二题:

🎯 第三题:

🎯 第四题:

🎯 第五题:

🎯 答案:

💻第一题:

💻第二题:

💻第三题:

💻第四题:

💻第五题:


🎯第一题:

建立圆柱体类Cylinder,类Cylinder的构造函数被传递了两个double值,分别表示圆柱体的半径和高度。用类Cylinder成员函数计算圆柱体的体积,并存储在一个double变量中。在类Cylinder中包含一个成员函数vol(),用来显示每个Cylinder对象的体积。创建对象并计算体积。

#include <bits/stdc++.h>

using namespace std;

/**************************************/

//定义Cylinder类 pi=3.14159

/**************************************/

int main() {

double r,h;

cout<<"input r,h:";

cin>>r>>h;

Cylinder cy(r,h);

cout<<"v="<<cy.vol()<<endl;

return 0;

}

运行效果:

🎯 第二题:

构建一个股票类Stock,含字符串stockcode及整型数据成员quantity、双精度型数据成员price。构造函数含3个参数,当定义Stock的类对象时,将对象的第1个字符串参数赋给数据成员stockcode,第2和第3个参数分别赋给quantity和price。未设置第2和第3个参数时,quantity的值为1000,price的值为5.67。成员函数print()没有形参,显示对象数据成员的内容。假设类Stock第1个对象的3个参数分别为”60001”,3000和8.98;第2个对象的第1个数据成员的值是“60002“,第2和第3个数据成员的值取默认值。编写程序分别显示这两个对象数据成员的值。

#include <iostream>

#include <cstring>

using namespace std;

/******************************************/

/*****************************************/

int main() {

Stock s1("60001",3000,8.98);

s1.print();

Stock s2("60002");

s2.print();

return 0;

}

运行效果:

🎯 第三题:

(教材例2-6)定义出生日期类Birth,有成员变量year、month、day及构造函数、显示函数show();定义学生类Student,有成员变量name、id,子对象birth及构造函数、显示函数show。创建Student类对象stu,使用show函数输出stu信息。

#include <iostream>

using namespace std;

class Birth {

public:

Birth(int year,int month, int day);

void show();

private:

int _year;

int _month;

int _day;

};

Birth::Birth(int year, int month, int day):_year(year),_month(month),_day(day) {

cout<<"Birth类构造函数"<<endl;

}

void Birth::show() {

cout<<"出生日期:"<<_year<<"-"<<_month<<"-"<<_day<<endl;

}

/***********************************************/

//定义学生类Student

/***************************************************/

int main() {

Student stu("lili",10002,2000,1,1); //创建学生对象stu

stu.show(); //显示学生信息

return 0;

}

运行效果:

🎯 答案:

💻第一题:

#include <iostream>

#include <cmath>

using namespace std;

class Cylinder {

private:

double r,h;

public:

Cylinder(double _r,double _h);

double vol();

};

Cylinder::Cylinder(double _r,double _h) {

this->r=_r;

this->h=_h;

}

double Cylinder::vol() {

return 3.14159*r*r*h;

}

int main() {

    double r,h;

    cout<<"input r,h:";

    cin>>r>>h;

    Cylinder c(r,h);

    cout<<"v="<<c.vol()<<endl;

return 0;

}



💻第二题:

#include <iostream>

#include <cstring>

using namespace std;

/******************************************/

class Stock {

private:

string stockcode;

int quantity;

double price;

public:

Stock(string s,int q=1000,double p=5.67);

void print();

};

Stock::Stock(string s,int q,double p) {

this->stockcode=s;

this->quantity=q;

this->price=p;

}

void Stock::print() {

cout<<"stockcode:"<<stockcode<<endl;

cout<<"quantity:"<<quantity<<endl;

cout<<"price:"<<price<<endl;

}

/*********************************************/

int main() {

Stock s1("60001",3000,8.98);

s1.print();

Stock s2("60002");

s2.print();

return 0;

}





/*******************************/

int main() {

cout<<add(1,3)<<endl;  //两个整数相加

cout<<add(1,2,3)<<endl;  //三个整型相加

cout<<add(2.5,3.5)<<endl;  //两个实数相加

cout<<add(1.5,2.5,3.5)<<endl;  //三个实数相加

return 0;

}

💻第三题:

#include <iostream>

using namespace std;

/***********************************************/

class Birth {

public:

Birth(int year,int month, int day);

void show();

private:

int _year;

int _month;

int _day;

};

Birth::Birth(int year, int month, int day):_year(year),_month(month),_day(day) {

cout<<"Birth类构造函数"<<endl;

}

void Birth::show() {

cout<<"出生日期:"<<_year<<"-"<<_month<<"-"<<_day<<endl;

}

class Student { //定义学生类Student

public:

Student(string name, int id, int year, int month, int day);

void show();

private:

string _name;

int _id;

Birth birth;

};

Student::Student(string name, int id, int year, int month, int day)

  :birth(year,month,day) {

cout<<"Student类构造函数"<<endl;

_name=name;

_id=id;

}

void Student::show() {

cout<<"姓名:"<<_name<<endl;

cout<<"学号:"<<_id<<endl;

birth.show();

}

/***************************************************/

int main() {

Student stu("lili",10002,2000,1,1);//创建学生对象stu

stu.show();//显示学生信息

return 0;

}







本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1190609.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器(一)

下一篇&#xff1a;Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器&#xff08;二&#xff09;-CSDN博客 介绍&#xff1a; Windows操作系统中自带了一款记事本应用程序&#xff0c;通常用于记录文字信息&#xff0c;具有简单文本编辑功能。Windows的记事本可以新…

LoadRunner脚本编写之二

下面来回顾一下嵌套循环例子。 Action() {int i,j; //生命两个变量for (i1;i<5;i) //第一重循环&#xff0c;循环5次{if (i3) break; //当i等于3时&#xff0c;跳出本重循环elselr_output_message("i%d",i); //否则&#xff0c;输入i的值for (j1;j<…

效率提升75%!要做矩阵号,更要做好矩阵号管理

在如今的信息数字化时代&#xff0c;面对竞争日趋激烈的市场&#xff0c;数字化转型成为了企业提高效率和竞争力、实现可持续发展的重要手段。 这一两年来&#xff0c;我们也发现&#xff0c;越来越多的品牌企业开始探索数字化转型的实践&#xff0c;通过使用自建或者采买的数据…

Spring Task定时任务框架

二十四、Spring Task 24.1 介绍 Spring Task 是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑。 定位&#xff1a;定时任务框架 作用&#xff1a;定时自动执行某段Java代码 为什么要在Java程序中使用Spring Task&#xff1f; 应用场景…

linux系统,确认账户密码正确

linux系统&#xff0c;确认账户密码正确 1、问题背景2、解决方法 1、问题背景 有时在linux系统安装软件时&#xff0c;有的软件可能会在安装过程中创建系统用户&#xff0c;同时会给出这个用户的密码。过了一段时间我们不确定这个密码是否还正确&#xff0c;那怎么确认这个密码…

大数据-玩转数据-Flume

一、Flume简介 Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行。Flume基于流式架构,容错性强,也很灵活简单。Flume、Kafka用来实时进行数据收集,Spark、Flink用来实时处理数据,impala用来实时查询。二、Flume…

深度学习中的图像增强合集

引言 图像增强是我们在深度学习领域中绕不开的一个话题&#xff0c;本文我们将讨论什么是图像增强&#xff0c;并在三个不同的 python 库中实现它&#xff0c;即 Keras、Pytorch 和 augmentation&#xff08;专门用于图像增强的一个库&#xff09;。所以第一个问题就是什么是图…

基于Python的书籍数据采集与可视化分析系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 基于Python的书籍数据采集与可视化分析系统旨在挖掘和分析海量图书数据背后的规律和趋势&#xff0c;为读者、出版商和数据分析师提供更深入的洞察和辅助决策。本系统依托于某瓣庞大的图书…

UT代码编译至build文件夹

得克萨斯大学奥斯汀分校代码&#xff1a;代码文件按照网上很多的做法是直接**cmake .****make**则会出现以下的内容&#xff1a;但是这样做未免有些杂乱&#xff0c;会将编译生成的Makefile和其他数据文件全部存放在utaustinvilla3d-master下&#xff0c;比较杂乱。根据我们编译…

VINS-Mono-后端优化 (二:预积分残差雅可比推导)

文章目录 对位置 δ α \delta\alpha δα 进行求导位置误差 δ α \delta\alpha δα 对平移 P b k w P^{w}_{b_{k}} Pbk​w​ 的求导位置 δ α \delta\alpha δα 对旋转 R w b k R^{b_{k}}_{w} Rwbk​​ 进行求导 对速度 δ β \delta\beta δβ 进行求导速度 δ β…

你别说,还真好用,Apipost-IDEA插件

写完代码还得重复打字编写接口文档&#xff1f;代码量大定位接口定义方法太难找&#xff1f;麻烦&#xff01;写完代码还得复制粘贴到postman进行调试&#xff1f; 这三点太麻烦&#xff1f;今天给大家推荐一款IDEA插件&#xff0c;写完代码IDEA内一键生成API文档&#xff0c;…

Sui学术研究奖公布,资助研究者探索人工智能、能源市场和区块链游戏

Sui基金会高兴地宣布首轮Sui学术研究奖&#xff08;SARAs&#xff09;的获奖者。SARAs计划提供资助&#xff0c;支持推动Sui区块链技术的研究。学术和研究界对我们的初次征集呈现出大量高质量的提案。 已接受的九个提案涵盖了各种主题&#xff0c;如token经济学、智能合约机制…

Modbus协议简介及模拟环境搭建

Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议&#xff0c;Modbus 是MODICON公司&#xff08;现为施耐德电气公司的一个品牌&#xff09;最先倡导的一种软的通讯规约。 通过此协议&#xff0c;控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进…

Kakao账号如何注册使用?如何Kakao多开?外贸必备全面教程

Kakao是目前韩国地区最流行的通讯生活服务软件&#xff0c;相当于我们国内的微信&#xff0c;如果您的业务正准备或者正在进军这个区域&#xff0c;那么少不了需要注册并使用这个平台&#xff0c;甚至需要Kakao多开&#xff08;多账号同时管理与使用&#xff09;&#xff0c;本…

Linux mx6ull-驱动(1)hello

编写第一个驱动&#xff0c;hello_drv 一、获取内核、编译内核。 这里为什么要获取内核呢&#xff0c;因为我们写的是驱动程序&#xff0c;而不是裸机程序。也就是我们的板子已经烧入进去了uboot、内核&#xff0c;根文件。然后我们要在这个板子的内核的基础上&#xff0c;来…

2023-11-09 node.js-有意思的项目-记录

摘要: 2023-11-09 node.js-有意思的项目-记录 记录: 1、 NodeBB Star: 13.3k 一个基于Node.js的现代化社区论坛软件&#xff0c;具有快速、可扩展、易于使用和灵活的特点。它支持多种数据库&#xff0c;包括MongoDB、Redis和PostgreSQL&#xff0c;并且可以轻松地进行自定义…

软件测试|MySQL LIKE:深入了解模糊查询

简介 在数据库查询中&#xff0c;模糊查询是一种强大的技术&#xff0c;可以用来搜索与指定模式匹配的数据。MySQL数据库提供了一个灵活而强大的LIKE操作符&#xff0c;使得模糊查询变得简单和高效。本文将详细介绍MySQL中的LIKE操作符以及它的用法&#xff0c;并通过示例演示…

Linux系统环境变量

Linux系统环境变量 1. 环境变量1.1 定义环境变量1.2 使用环境变量 2. 环境变量作用2.1 PATH 3. 设置环境变量3.1 设置系统级环境变量3.2 设置用户级环境变量3.3 设置临时环境变量 1. 环境变量 在Linux系统中&#xff0c;常用的关键信息以键值对&#xff08;KeyValue&#xff09…

第四章:人工智能深度学习教程-激活函数(第二节-ANN 中激活函数的类型)

生物神经网络以人工神经网络的形式建模&#xff0c; 其中人工神经元模拟生物神经元的功能。人工神经元如下图所示&#xff1a; 人工神经元的结构 每个神经元由三个主要部分组成&#xff1a; 一组“i”个突触&#xff0c;其权重为 w i。信号 x i形成具有权重 w i的第 i 个突触的…

关于稳定扩散最详细的介绍

推荐基于稳定扩散(stable diffusion) AI 模型开发的自动纹理工具&#xff1a; DreamTexture.js自动纹理化开发包 - NSDT Stable Diffusion 用途广泛&#xff0c;因为它可以以多种不同的方式使用。首先&#xff0c;让我们关注仅从文本 &#xff08;text2img&#xff09; 生成图像…