C++類與對象的第一個簡單的實戰練習-3.24筆記

在嗶哩嗶哩學習的這個老師的C++面向對象高級語言程序設計教程(118集全)講的真的很不錯

實戰一:

在這里插入圖片描述

情況一:將所有代碼寫到一個文件main.cpp中
#include<iostream>
//不知道包含strcpy的頭文件名稱是什么,問ai可知
#include<cstring>
using namespace std;
class Person {
private:int age;
public:char name[32];void set(int a, char b[32]);int get_age(void);//char get_name(void);這個函數應該將返回值改為字符指針型,便于返回整個字符串,修改如下char* get_name(void);
};
void Person::set(int a, char b[32]) {if (a < 100 && a>0) {age = a;}else cout << "請輸入正確的age" << endl;strcpy_s(name, b);
}
int Person::get_age(void) {return age;
}
char* Person::get_name(void) {return name;//應該直接返回name,而不是返回name[32],這是返回的第三十三個元素
}
int main() {Person p;int p_age;char p_name[32];cout << "請輸入您的年齡" << endl;cin >> p_age;//要先將用戶輸入的值存入一個變量中cin.ignore();//忽略輸入緩沖區中的換行符,避免影響后續的 getlinecout << "請輸入您的姓名" << endl;cin.getline(p_name, 32);//是cin.getline,不要記錯了,讀取整行輸入(包括空格)p.set(p_age, p_name);cout << "p的年齡是:" << p.get_age() << endl;//函數調用一定要加要加小括號,有沒有參數都要加cout << "p的姓名是:" << p.get_name() << endl;
}
情況二:分文件寫
在Person.h中
#pragma once//類的頭文件:一般定義成員數據,聲明成員函數
class Person
{
private:int m_age;char m_name[32];
public://初始化m_name和m_agevoid init( const char* name, int age);//設置namevoid setname( const char *name);//獲取namechar* getname(void);//設置agevoid setage(int age);//獲取ageint getage(void);//顯示m_name和m_agevoid showPerson(void);
};
在person.cpp中
#include "Person.h"
#include<string.h>
#include<iostream>
using namespace std;//定義類的成員函數
void Person::init(const char* name, int age)
{strcpy_s(m_name, name);if (age >= 0 && age <= 100) {m_age = age;}else {cout << "年齡輸入非法" << endl;}
}void Person::setname( const char* name)
{strcpy_s(m_name, name);
}char* Person::getname(void)
{return m_name;
}void Person::setage(int age)
{m_age = age;
}int Person::getage(void)
{return m_age;
}void Person::showPerson(void)
{cout << "姓名:" << m_name << ", 年齡:" << m_age << endl;
}
在main.cpp中
#include<iostream>
#include"Person.h"
using namespace std;int main() {Person ob;ob.init("lucy",18);ob.showPerson();ob.setage(60);ob.getage();ob.setname("Bob");ob.getname();ob.showPerson();return 0;
}
  • 分清楚了Person.h和person.cpp和main.cpp分別是干嘛的
  • 認識了初始化函數怎么寫
  • cin.ignore()
  • cin.getline()
  • 大體感受了面向對象編程

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898914.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898914.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898914.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Jetson Orin NX使用 Ollama 本地部署 deepseek

本文記錄在 jetson orin nx 上使用 ollama 部署 deepseek 的過程 有用的網站及工具 NVIDIA Jetson AI LabOllama官網Jtop 工具 > 用以查看jetson GPU/CPU/Memory 等占用情況的工具&#xff0c;安裝過程如下&#xff1a; sudo apt-get install python3-pip sudo -H pip3 in…

目標檢測20年(三)

對這篇論文感興趣的小伙伴可以訂閱筆者《目標檢測》專欄&#xff0c;關注筆者對該文獻的閱讀和理解。 前兩篇解讀鏈接&#xff1a; 目標檢測20年&#xff08;一&#xff09;-CSDN博客 目標檢測20年&#xff08;二&#xff09;-CSDN博客 目錄 四、 檢測器的加速發展 4.1 特…

智能手持終端PDA在設備巡檢管理中的應用

在工業制造、能源電力、軌道交通等領域&#xff0c;設備巡檢是保障生產安全與連續性的核心環節。傳統巡檢模式存在效率低、易出錯、數據滯后等痛點。上海岳冉智能設備巡檢手持終端PDA&#xff0c;以智能化、數字化、高可靠為核心設計理念&#xff0c;集RFID、條碼掃描、AI圖像識…

AI知識補全(二):提示工程(Prompting)是什么?

名人說&#xff1a;人生如逆旅&#xff0c;我亦是行人。 ——蘇軾《臨江仙送錢穆父》 創作者&#xff1a;Code_流蘇(CSDN)&#xff08;一個喜歡古詩詞和編程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;AI知識補全&#xff08;一&#xff09;&#xff1a;tokens是什么…

C++友元:跨墻訪問的三種姿勢

目錄 友元 友元之普通函數形式 友元之成員函數形式 友元類 友元的特點 友元 什么叫友元&#xff1f; 一般來說&#xff0c;類的私有成員只能在類的內部訪問&#xff0c;類之外是不能訪問它們的。但如果將其他類/函數設置為類的友元&#xff0c;那么友元類/函數就可以在前…

位運算[找出唯一成對的數]

題目來源&#xff1a;藍橋云課 不用輔助儲存空間 import java.util.Random;public class T_01 {public class Util {public static void swap(int[] arr, int i, int j) {int temp arr[i];arr[i] arr[j];arr[j] temp;}public static void print(int[] arr) {for (int i 0; …

簡記_FPGA 硬件最小系統設計

一、FPGA板級設計的五要素 1.1、電源電路 核心電壓&#xff1a;一般為固定值 IO電壓&#xff1a;FPGA的IO分為多個bank&#xff0c;同一個bank的不同IO引腳電壓相同&#xff0c;不同bank的電壓可以不同 輔助電壓&#xff1a;除了核心電壓和IO電壓&#xff0c;FPGA工作所需的…

7.2 控件和組件

版權聲明&#xff1a;本文為博主原創文章&#xff0c;轉載請在顯著位置標明本文出處以及作者網名&#xff0c;未經作者允許不得用于商業目的 C#工具箱位于編輯窗口的左側&#xff0c;它默認內置了大量的控件和組件。控件一般派生于System.Windows.Forms.Control類&#xff0c;顯…

Spring Boot中接口數據字段為?Long?類型時,前端number精度丟失問題解決方案

Spring Boot中接口數據字段為 Long 類型時&#xff0c;前端number精度丟失問題解決方案 在Spring Boot中&#xff0c;當接口數據字段為 Long 類型時&#xff0c;返回頁面的JSON中該字段通常會被序列化為數字類型。 例如&#xff0c;一個Java對象中有一個 Long 類型的屬性 id …

OpenCV第2課 OpenCV的組成結構與圖片/視頻的加載及展示

1.OpenCV 的組成結構 2.OpenCV 的具體模塊 3. 圖像的讀取 4. 視頻的讀取 1.OpenCV 的組成結構 OpenCV 是由很多模塊組成的,這些模塊可以分成很多層: 最底層是基于硬件加速層(HAL)的各種硬件優化。再上一層是opencv_contrib 模塊所包含的OpenCV 由其他開發人員所貢獻的代…

安裝配置Tesseract-OCR

1,下載對應的可執行文件 在Tesseract OCR下載地址Index of /tesseract下載合適的版本安裝包,如下: 點擊安裝包進行安裝: 語言選擇英文: 如果需要識別中文,則可以在安裝過程中勾選下載中文語言包和腳本(也可以按需選擇繁體):

關于墻面涂鴉的視覺檢測與噴涂修復裝置研究(大綱)

公共場所墻面涂鴉視覺檢測與精準噴涂修復裝置研究 融合視覺識別與自動化噴涂的墻面維護解決方案 第一章 緒論 1.1 研究背景與意義 城市形象與秩序維護&#xff1a; 涂鴉對公共環境的影響&#xff08;破壞美觀、傳遞不良信息&#xff09;清除涂鴉的重要性&#xff08;恢復原貌…

圖論 | 98. 所有可達路徑

98. 所有可達路徑 題目鏈接&#xff1a; 98. 所有可達路徑 思路 先創建鄰接矩陣&#xff0c;再深搜寫代碼是需要注意的是acm格式&#xff0c;輸入的格式要轉化為int&#xff0c;輸出要轉化為str&#xff0c;用map&#xff08;&#xff09;實現。 dfs def dfs(grid,node,n,…

MCP+Hologres+LLM 搭建數據分析 Agent

LLM大模型在數據分析領域的挑戰 在數據分析領域&#xff0c;大模型&#xff08;LLM&#xff09;具備強大語言理解能力&#xff0c;NL2SQL等各類智能化工具也極大提升了數據分析人員的分析效率&#xff0c;但仍舊面臨不少挑戰&#xff1a; 傳統 LLM 缺乏實時數據接入能力&…

Categorical分布(分類分布):深度學習中的離散建模利器

Categorical分布&#xff1a;深度學習中的離散建模利器 引言 對于深度學習研究者來說&#xff0c;概率分布是模型設計和優化的基石。在許多生成模型中&#xff0c;如變分自編碼器&#xff08;VAE&#xff09;及其變種VQ-VAE&#xff08;Vector Quantized Variational Autoenc…

Langchain 提示詞(Prompt)

基本用法 1. 基本概念 提示詞模板 是一個字符串模板&#xff0c;其中包含一些占位符&#xff08;通常是 {variable} 形式的&#xff09;&#xff0c;這些占位符可以在運行時被實際值替換。LangChain 提供了多種類型的提示詞模板&#xff0c;以適應不同的使用場景。 2. 主要類…

centos7.9鏡像源及Python引入ssl問題處理

一、鏡像源修改 1. 備份原有的鏡像源配置文件 在修改之前,先備份現有的 CentOS-Base.repo 文件: sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2. 編輯鏡像源配置文件 使用文本編輯器(如 nano 或 vi)打開 /etc/yum.repos.d/Ce…

Java高頻面試之集合-17

hello啊&#xff0c;各位觀眾姥爺們&#xff01;&#xff01;&#xff01;本baby今天來報道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面試官&#xff1a;JDK 8 對 HashMap 主要做了哪些優化呢&#xff1f;為什么要這么做&#xff1f; JDK 8 對 HashMap 的主要優化及原因 JDK…

計算機二級:函數基礎題

函數基礎題 第一題 rinput("請輸入半徑&#xff1a;") c3.1415926*r*2 print("{:.0f}".format(c))輸出&#xff1a; Type Error第二題 a7 b2 print(a%2)輸出 1第三題 ab4 def my_ab(ab,xy):abpow(ab,xy)print(ab,end"\n") my_ab(ab,2)prin…

C# 屬性(Property)?詳解

在 C# 中&#xff0c;?屬性&#xff08;Property&#xff09;? 是類或結構體中的成員&#xff0c;用于封裝對私有字段&#xff08;稱為 ?backing field?&#xff09;的訪問&#xff0c;提供更靈活和安全的數據操作方式。屬性通過 get 和 set 訪問器控制對數據的讀寫&#x…