C++动态数组作为私有成员的类的对象声明
时间: 2023-10-14 14:04:52 浏览: 69
可以采用以下方式:
```cpp
class MyClass {
private:
int* arr;
int size;
public:
MyClass(int size) {
this->size = size;
arr = new int[size];
}
~MyClass() {
delete[] arr;
}
};
```
其中,`arr`是动态数组,通过构造函数初始化,通过析构函数释放。私有成员变量`size`用于记录数组长度。
相关问题
设计一个银行账户类,包含账户的持有人姓名、账号、余额三个私有数据成员,以及 相应的构造函数和公有成员函数。其中一个成员函数用对象数组、数组长度及查找账号作为 参数,根据查找账号查找并返回匹配的银行账户对象的指针。主函数中声明一个具有固定大 小的银行账户数组,并初始化一些账户对象。输入账号,打印出对应账户的持有人姓名和余 额。
下面是一个简单的银行账户类的实现,包含账户的持有人姓名、账号、余额三个私有数据成员,以及相应的构造函数和公有成员函数,其中包括一个成员函数根据账号查找并返回匹配的银行账户对象的指针:
```c++
#include <iostream>
#include <string>
using namespace std;
class BankAccount {
private:
string name; // 账户持有人姓名
string account; // 账户号码
double balance; // 账户余额
public:
// 构造函数
BankAccount(string _name, string _account, double _balance) {
name = _name;
account = _account;
balance = _balance;
}
// 根据账号查找并返回匹配的银行账户对象的指针
BankAccount* findAccount(BankAccount* accounts, int len, string acc) {
for (int i = 0; i < len; i++) {
if (accounts[i].account == acc) {
return &accounts[i];
}
}
return nullptr;
}
// 获取账户持有人姓名
string getName() {
return name;
}
// 获取账户号码
string getAccount() {
return account;
}
// 获取账户余额
double getBalance() {
return balance;
}
};
int main() {
// 初始化银行账户数组
BankAccount accounts[] = {
BankAccount("Tom", "123456", 1000.0),
BankAccount("Jerry", "234567", 2000.0),
BankAccount("Alice", "345678", 3000.0),
BankAccount("Bob", "456789", 4000.0)
};
int len = sizeof(accounts) / sizeof(BankAccount);
// 输入账号,查找并打印对应账户的持有人姓名和余额
string acc;
cout << "Please enter the account number: ";
cin >> acc;
BankAccount* pAccount = accounts[0].findAccount(accounts, len, acc);
if (pAccount != nullptr) {
cout << "The account holder is " << pAccount->getName() << endl;
cout << "The balance is " << pAccount->getBalance() << endl;
} else {
cout << "Account not found!" << endl;
}
return 0;
}
```
运行程序,输入账号即可查询对应账户的持有人姓名和余额。
用c++写一个程序,要求:声明一个Employee类,其中包括姓名、城市和邮编属性,以及change_name()和display()函数。display()函数显示姓名、城市和邮编属性,change_name()函数实现修改对象的姓名属性。声明包含2个元素的对象数组,每个元素都是Employee类型的对象。给对象赋值并输出。
以下是实现上述要求的C++程序:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Employee {
private:
string name;
string city;
string zip_code;
public:
void change_name(string new_name) {
name = new_name;
}
void display() {
cout << "Name: " << name << endl;
cout << "City: " << city << endl;
cout << "Zip code: " << zip_code << endl;
}
};
int main() {
Employee employees[2];
employees[0].change_name("John Doe");
employees[0].display();
cout << endl;
employees[1].change_name("Jane Smith");
employees[1].display();
cout << endl;
return 0;
}
```
该程序创建了一个名为Employee的类,该类具有三个私有成员变量:name、city和zip_code。该类还具有两个公共成员函数:change_name()函数用于修改对象的姓名属性,display()函数用于显示对象的姓名、城市和邮编属性。
在主函数中,声明了一个包含两个元素的Employee类型的对象数组。接着,使用change_name()函数为每个对象赋值,并使用display()函数输出对象的属性。