Я пытаюсь отобразить некоторые элементы данных (бумага, металл, пластик) из базового класса в производный класс, но вместо этого отображаются значения мусора. Я попытался объявить Material obj в производном классе, а затем вызвать их с помощью объекта, например obj.paper/obj.metal, но он не работает. Как это исправить?отображение элемента данных из базового класса в производный класс
#include <iostream>
using namespace std;
class Material
{
public:
float paper, metal, plastic;
public:
void set_data()
{
cout<<"\t\tPaper : ";
cin>>paper;
cout<<"\t\tMetal : ";
cin>>metal;
cout<<"\t\tPlastics : ";
cin>>plastic;
}
};
class Contributor : public Material
{
public :
string name, cname;
public:
void display(string x, string y)
{
name=x; cname=y;
cout<<"\t"<<x<<"\t"<<y<<"\t"<<paper<<"\t"<<metal<<"\t"<<plastic<<"\t"<<endl;
}
};
int main()
{
Material A;
Contributor B;
string name, cname;
cout<<"Enter name : ";
getline(cin, name);
cout<<"Enter company name : ";
getline(cin, cname);
A.set_data();
B.display(name, cname);
return 0;
}
И .. Что вы ожидаете, когда вы читаете данные в один объект, а затем пытаетесь отобразить данные другого? Это похоже на вопрос о том, как напечатать значение мусора после выполнения следующего фрагмента кода: 'int a; int b; cin >> a; cout << b; '. –
У вас есть два разных и разных объекта. 'A' и' B' никак не связаны. –