C++程序演示如何使用類和對象進行簡單的面向對象編程。

下面是一個簡單的C++程序示例,展示了如何使用類和對象進行面向對象編程。這個示例定義了一個名為Person的類,它包含私有成員變量(姓名和年齡)以及公共成員函數(用于設置和獲取這些成員變量的值)。然后,我們創建Person類的實例(對象),并通過這些對象來調用成員函數。

 

cpp復制代碼

#include <iostream>
#include <string>
using namespace std;
// 定義Person類
class Person {
private:
string name; // 私有成員變量:姓名
int age; // 私有成員變量:年齡
public:
// 構造函數
Person(string n, int a) {
name = n;
age = a;
}
// 設置姓名的成員函數
void setName(string n) {
name = n;
}
// 獲取姓名的成員函數
string getName() {
return name;
}
// 設置年齡的成員函數
void setAge(int a) {
age = a;
}
// 獲取年齡的成員函數
int getAge() {
return age;
}
// 顯示Person信息的成員函數
void displayInfo() {
cout << "Name: " << name << ", Age: " << age << endl;
}
};
int main() {
// 創建Person類的對象
Person person1("Alice", 30);
Person person2; // 假設有一個默認構造函數(這里沒有定義,實際中可能需要)
// 使用對象調用成員函數
person1.displayInfo(); // 直接使用初始化時設置的值
// 修改person1的信息
person1.setName("Bob");
person1.setAge(25);
person1.displayInfo(); // 顯示修改后的信息
// 假設我們為person2設置了信息(這里使用默認構造函數后需要手動設置)
person2.setName("Charlie");
person2.setAge(35);
person2.displayInfo();
return 0;
}
// 注意:上述代碼中person2的初始化是假設的,因為類定義中沒有包含默認構造函數。
// 如果需要直接創建person2對象而不指定姓名和年齡,你需要添加一個無參數的構造函數。

注意

  • 在上面的代碼中,Person類通過私有成員變量(nameage)封裝了數據,這意味著這些數據只能通過類的成員函數來訪問和修改。
  • 類中的setNamegetNamesetAgegetAgedisplayInfo成員函數提供了對這些私有成員變量的訪問接口。
  • Person類包含一個構造函數,它允許在創建對象時初始化nameage成員變量。
  • main函數中,我們創建了兩個Person類的對象,并通過這些對象調用了成員函數來顯示和修改它們的信息。
  • 注意,如果你嘗試在沒有提供所有必要參數的情況下創建Person對象(如Person person2;),你需要定義一個無參數的構造函數,否則編譯器會報錯,因為這里我們沒有定義默認構造函數。如果你想要這樣的行為,可以在類定義中添加一個無參數的構造函數。

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

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

相關文章

【C語言】指針經典例題

題1&#xff1a; #include <stdio.h>int main() {int a[5] { 1, 2, 3, 4, 5 };int* ptr (int*)(&a 1);printf("%d,%d", *(a 1), *(ptr - 1));return 0; } //程序的結果是什么&#xff1f; 解答如下&#xff1a; 題2&#xff1a; #include <std…

提取含日期字符串并格式化輸出

背景 OCR識別的字符串中&#xff0c;日期類型存在字符串中&#xff0c;需要提取出來&#xff0c;并格式化 環境以及依賴package NStudyPy0.0.12 NStudyPy 工具包 , 一個有用的工具包&#xff0c;可以簡化開發流程&#xff0c;詳細介紹可以參考 NStudyPy 本教程使用 python 3.10…

Coze終于頂不住了?開始收費了

&#x1f914;各位老鐵都知道&#xff0c;之前Coze以免費出圈&#xff0c;香碰碰&#xff0c;字節一個月幾個億補貼用戶。現在終于頂不住了&#xff0c;開始收費了&#xff01; 我們來看看具體情況吧&#xff01; &#x1f4b8;收費情況一覽 目前國內版本還沒有開始收費&#x…

VisActor vs ECharts: 哪個更適合你的數據可視化需求?

VisActor vs ECharts: 哪個更適合你的數據可視化需求&#xff1f; 在當今數據驅動的世界里&#xff0c;選擇合適的數據可視化工具是至關重要的。ECharts作為廣受歡迎的可視化庫&#xff0c;已經在行業內擁有了長久的歷史和廣泛的用戶基礎。然而&#xff0c;VisActor作為新興的…

企業該如何選擇工時管理工具?

在數字化時代&#xff0c;企業的管理效率直接關系到其市場競爭力。工時管理作為企業管理的重要一環&#xff0c;不僅關乎員工的工作效率&#xff0c;還直接影響到企業的成本控制和決策質量。那么&#xff0c;面對市場上琳瑯滿目的工時管理工具&#xff0c;企業應該如何做出明智…

麒麟v10-yum下載命令

1、下載抓包工具 tcpdump下載時只能直接安裝&#xff1b;想要cp到其他機器的時候就需要用到其他命令了。 2、yum命令只下載不安裝 yum install tcpdump --downloadonly 3、下載完成后&#xff0c;安裝包的路徑 /var/cache/dnf/ks10-adv-os-0c2e217e51b7a335/packages/tcpdump…

前端基礎--Vue3核心語法

vue的核心語法 簡單入門 Vue3向下兼容Vue2語法&#xff0c;且Vue3中的模板中可以沒有根標簽 <template><div class"person"><h2>姓名&#xff1a;{{name}}</h2><h2>年齡&#xff1a;{{age}}</h2><button click"chang…

關于ant design vue 使用Modal無法關閉彈窗的解決思路

文章目錄 1: 出現問題的版本2.出現問題&#xff08;1&#xff09;ant design 的問題&#xff08;2&#xff09;poina的提示報錯 3.正確版本總結 1: 出現問題的版本 "ant-design-vue": "^3.2.20", "pinia": "^2.1.7", "vue"…

人工智能工具在軟件開發中的作用與未來展望

隨著生成式人工智能&#xff08;AIGC&#xff09;的迅猛發展&#xff0c;軟件開發領域正經歷著深刻的變革。從代碼生成、錯誤檢測到自動化測試&#xff0c;AI工具正在逐漸成為開發者的重要助手。然而&#xff0c;這也引發了對開發者職業前景和技能需求變化的廣泛討論&#xff1…

好看的風景視頻素材在哪下載啊?下載風景視頻素材網站分享

隨著短視頻和自媒體的興起&#xff0c;美麗的風景視頻不僅能讓人眼前一亮&#xff0c;更能吸引大量觀眾。無論是旅游博主分享那些令人心曠神怡的旅行片段&#xff0c;還是視頻編輯師尋找背景素材來增強作品的視覺效果&#xff0c;高質量的風景視頻素材需求量巨大。以下是幾個下…

Radio專業術語筆記

在收音機的 RDS (Radio Data System) 功能中&#xff0c;CT 代表 “Clock Time”。RDS 是一種數字廣播標準&#xff0c;用于在調頻廣播中傳輸輔助數據&#xff0c;如電臺名稱、節目類型、交通信息等。CT 功能是其中的一部分&#xff0c;用于同步和顯示廣播電臺發送的當前時間。…

【干貨】SaaS企業使用PLG模式實現用戶自增長與留存的三大戰略

近年來越來越多toB廠商開始采用SaaS模式&#xff0c;消費者的體驗需求和購買行為也逐漸轉變。根據Forrester研究調查顯示&#xff0c;B端購買者現在越來越傾向于進行產品體驗和產品調研與評估&#xff0c;而非如傳統的方式那樣直接與銷售人員接觸。 因此&#xff0c;SaaS&…

.npy格式圖像如何進行深度學習模型訓練處理,親測可行

import torchimport torch.nn as nnimport torch.nn.functional as Fimport numpy as npfrom torch.utils.data import DataLoader, Datasetfrom torchvision import transformsfrom PIL import Imageimport json# 加載訓練集和測試集數據train_images np.load(../dataset/tra…

x86芯片定制,Ethercat芯片定制,適用于運動控制,工業總線等軟硬一體機

x86芯片定制&#xff0c;Ethercat芯片定制 X86平臺 我們的研發工程師已經積累了非常豐富的主板、整機設計經驗&#xff0c;對接您的產品規格場景需求&#xff0c;快速交付樣機&#xff0c;包含主板、BOX整機、平板電腦、CPCI等形態產品。降本、長生命周期、快速交付、及時響應…

鴻蒙開發設備管理:【@ohos.settings (設置數據項名稱)】

設置數據項名稱 說明&#xff1a; 本模塊首批接口從API version 8開始支持。后續版本如有新增內容&#xff0c;則采用上角標單獨標記該內容的起始版本。 本模塊提供設置數據項的訪問功能相關接口的說明及示例。 導入模塊 import settings from ohos.settings;settings.getUri…

訪問者模式在金融業務中的應用及其框架實現

引言 訪問者模式&#xff08;Visitor Pattern&#xff09;是一種行為設計模式&#xff0c;它允許你在不改變對象結構的前提下定義作用于這些對象的新操作。通過使用訪問者模式&#xff0c;可以將相關操作分離到訪問者中&#xff0c;從而提高系統的靈活性和可維護性。在金融業務…

數組理論基礎

1. **數組定義**&#xff1a; - 數組是存放在連續內存空間上的相同類型數據的集合。 2. **數組特性**&#xff1a; - 數組下標從0開始。 - 數組的內存空間地址是連續的。 3. **數組操作**&#xff1a; - 數組可以通過下標索引快速訪問元素。 - 數組元素的刪除…

修復 OpenSSH 爆出極其嚴重的安全漏洞!

最近幾天OpenSSH爆出了一個高危漏洞&#xff1a;CVE-2024-6387&#xff0c;影響到了很多的Linux服務器系統。明月第一時間給所有的代維客戶服務器進行了排查和漏洞修復&#xff0c;因此耽擱了一些時間。直到今天才算抽出空來給大家分享一下。嚴格上來說這個漏洞的危險性還是極高…

PR視頻剪輯(2)——節奏把控(導入、序列、素材出入點、標記點)

PR視頻剪輯(2)——視頻節奏(導入、項目窗口、序列、素材出入點、標記點) 一、新建項目、導入素材1.1 拖動導入1.2 雙擊導入1.3 右鍵導入1.4 窗口導入1.5 選擇文件導入1.6 快捷鍵導入(ctrl + i)1.7 文件夾導入(文件夾全是素材就可使用該方法)二、項目窗口(介紹項目窗口…