gpt4 book ai didi

c++ - 通过 B 类,我想在 main 中打印 A 类函数

转载 作者:行者123 更新时间:2023-11-30 03:35:05 26 4
gpt4 key购买 nike

我正在尝试通过B 类 打印A 类 用户定义函数。 Class Aclass B 是继承的,但我仍然无法打印 "name" ma​​in 通过 B 类 功能的人的“ID”。当我在 ma​​in 中直接调用 show() 函数时,它会打印 Name 和输入的 ID 但是当我调用 B 类 函数名称ID 完全是空白。

#include<iostream>
#include<string>

using namespace std;

class A
{
protected:
string name;
string ID;
public:
void set()
{
cout << "Enter your name: ";
cin >> name;
cout << "Enter Your ID: ";
cin >> ID;
}

void show()
{
cout << "Name: " <<name << endl;
cout << "ID : " << ID << endl;
}
};

class B: public A
{
public:
void Bshow()
{
cout << "THe name of person and ID of a person is: " << endl;

A::show();
}
};


void main()
{
A a;
B b;

a.set();
cout << endl;

b.Bshow();
cout << endl;

system("pause");
}

最佳答案

When I call show() funtion in main Directly it prints Name and ID enterted but when I call class B funtion Name and ID are totally blank.

我猜你忘了先调用 b.set()

ab 是两个不同的对象。 a 的状态由调用 a.set() 设置。这对设置 b 的状态没有任何作用。因此,b 的成员变量保持默认构造。

使用:

b.set();
b.Bshow();
cout << endl;

关于c++ - 通过 B 类,我想在 main 中打印 A 类函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41530426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com