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