定义一个person类,有保护的数据成员姓名、年龄,可以通过公有的成员方法完成姓名的读操作或年龄的写操作。可通过带参的构造方法创建对象并完成初始化数据成员。有公有的成员方法Hllo()可返回他的姓名和年龄信息
时间: 2024-05-20 07:17:44 浏览: 80
class Person {
protected:
string name;
int age;
public:
Person(string n, int a) { // 带参的构造方法
name = n;
age = a;
}
string getName() { // 公有的成员方法,获取姓名
return name;
}
void setAge(int a) { // 公有的成员方法,设置年龄
age = a;
}
void Hello() { // 公有的成员方法,返回姓名和年龄信息
cout << "My name is " << name << ", and I'm " << age << " years old." << endl;
}
};
相关问题
定义一个person类的派生类teacher类,增加了一个私有的数据成员工资,覆盖的公有方法hello(),可以返回姓名、年龄和工资信息
以下是Python的代码实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def hello(self):
return f"My name is {self.name}, I'm {self.age} years old."
class Teacher(Person):
def __init__(self, name, age, salary):
super().__init__(name, age)
self.__salary = salary
def hello(self):
return f"My name is {self.name}, I'm {self.age} years old, and my salary is {self.__salary}."
```
在这个例子中,我们定义了一个`Person`类和一个`Teacher`类。`Person`类具有`name`和`age`两个公有的属性和一个`hello()`方法,可以返回姓名和年龄信息。
`Teacher`类继承了`Person`类,并增加了一个私有的属性`__salary`,表示教师的工资。它覆盖了`hello()`方法,并返回姓名、年龄和工资信息。
在实际使用中,我们可以使用如下代码创建一个`Teacher`对象,并调用它的`hello()`方法:
```python
t = Teacher("Tom", 35, 5000)
print(t.hello()) # 输出 "My name is Tom, I'm 35 years old, and my salary is 5000."
```
从输出结果可以看出,`hello()`方法成功覆盖了父类中的同名方法,并返回了正确的信息。
定义一个person类的派生student类,增加了一个私有的数据成员成绩,覆盖的公有hello(),可以返回姓名、年龄、成绩信息
以下是Python的代码实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def hello(self):
print("Hello, I am {} and I am {} years old.".format(self.name, self.age))
class Student(Person):
def __init__(self, name, age, score):
super().__init__(name, age)
self.score = score
def hello(self):
print("Hello, I am {} and I am {} years old. My score is {}.".format(self.name, self.age, self.score))
```
在上述代码中,我们定义了一个基类`Person`和一个派生类`Student`。`Person`类有两个数据成员`name`和`age`,和一个`hello()`方法,用于输出个人信息。`Student`类继承了`Person`类,并增加了一个私有数据成员`score`,并覆盖了`hello()`方法,以输出学生的姓名、年龄和成绩信息。在`Student`类的构造函数中,我们使用`super()`来调用`Person`类的构造函数,以初始化`name`和`age`成员。
接下来,我们可以创建一个`Student`对象,并调用`hello()`方法输出学生的信息:
```python
s = Student("Tom", 18, 90)
s.hello() # 输出:Hello, I am Tom and I am 18 years old. My score is 90.
```
阅读全文