c++ 1. 实现 Birthday 类。包含私有变量 year,month,day 三个数据成员。
时间: 2023-12-03 11:45:40 浏览: 43
以下是实现 Birthday 类的示例代码:
```cpp
class Birthday {
private:
int year;
int month;
int day;
public:
// 构造函数
Birthday(int y, int m, int d) {
year = y;
month = m;
day = d;
}
// 获取年份
int getYear() const {
return year;
}
// 获取月份
int getMonth() const {
return month;
}
// 获取日期
int getDay() const {
return day;
}
};
```
以上代码定义了一个 Birthday 类,包含三个私有变量 year、month 和 day,并实现了一个构造函数和三个获取变量值的成员函数。在使用时,可以先创建一个 Birthday 对象,并通过构造函数初始化 year、month 和 day 的值,然后通过调用成员函数获取相应的变量值。
相关问题
c++实现一个有两个私有变量的引用计数类
以下是一个有两个私有变量的引用计数类的示例实现:
```c
#include <iostream>
class RefCount {
public:
RefCount() {
refCount_ = 0;
data_ = nullptr;
}
RefCount(int data) {
refCount_ = 0;
data_ = new int(data);
}
RefCount(const RefCount& other) {
refCount_ = 0;
data_ = other.data_;
if (data_) {
++(*other.refCount_);
refCount_ = other.refCount_;
}
}
RefCount& operator=(const RefCount& other) {
if (this != &other) {
Release();
data_ = other.data_;
if (data_) {
++(*other.refCount_);
refCount_ = other.refCount_;
}
}
return *this;
}
~RefCount() {
Release();
}
int GetData() const {
if (data_) {
return *data_;
}
return 0;
}
private:
void Release() {
if (data_ && --(*refCount_) == 0) {
delete data_;
delete refCount_;
}
}
int* data_;
int* refCount_;
};
int main() {
RefCount a(10);
RefCount b(a);
std::cout << "a: " << a.GetData() << std::endl;
std::cout << "b: " << b.GetData() << std::endl;
RefCount c;
c = a;
std::cout << "c: " << c.GetData() << std::endl;
return 0;
}
```
这个类有两个私有变量,`data_`表示实际存储的数据,`refCount_`表示引用计数。构造函数和析构函数都初始化和释放这些变量。`operator=`实现了引用计数的赋值。`Release()`是一个私有函数,用于释放对象并减少引用计数。`GetData()`返回存储的数据。在主函数中,我们创建了三个对象,并测试了它们的值。
用c++实现一个代表学生的类 并且所有的成员变量都是私有的
好的,这个问题可以回答。以下是一个用 C 语言实现的代表学生的类,所有成员变量都是私有的:
```
typedef struct {
char name[20];
int age;
char gender;
float score;
} Student;
```
这个类包含了学生的姓名、年龄、性别和成绩四个私有成员变量。可以通过定义 getter 和 setter 函数来访问和修改这些成员变量。