Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Вывод строки из другого класса


Автор: stat007 12.6.2010, 11:12
Как правильно вывести значение объявленное в базовом классе, вывести через класс наследник?
Код

#include<iostream>
#include<string>
using namespace std;

class Student
{
    string st;
public:
    Student(){}
    Student(string str) {st=str;}
    ~Student(){}
    void fio(string str) 
    { getline(cin,str); }
};

class Vivod:public Student
{
public:
    void Vivodu(string str)
    { cout<<str<<endl; }
};

int main()
{
    Vivod ob;
    string str2;
    cout<<"Enter name student: "<<endl;
    ob.fio(str2);
    ob.Vivodu(str2);

    system("pause");
    return 0;
}



Автор: jonie 12.6.2010, 11:53
stat007, объявите то что в базовом классе как protected, тогда наследники увидят ваши данные

Автор: boostcoder 12.6.2010, 12:10
jonie, помоему, вопрос в обратном ;)

Добавлено через 2 минуты и 22 секунды
сорри, все верно.

Автор: mes 12.6.2010, 13:30
и еще у Вас проблема в несогласованости имен :



Цитата(stat007 @  12.6.2010,  10:12 Найти цитируемый пост)
  string st;

Цитата(stat007 @  12.6.2010,  10:12 Найти цитируемый пост)
    { cout<<str<<endl; }


Автор: stat007 13.6.2010, 13:08
jonie, Ни чего не получилось, можно поподробнее...?  smile 

Автор: mes 13.6.2010, 15:52
Цитата(stat007 @  13.6.2010,  12:08 Найти цитируемый пост)
Ни чего не получилось, можно поподробнее...?

чего "ничего" не получилось ? можно поподробней ?

ну и немного в сторону.. делать класс _вывод_ наследником класса _студент_ не очень логично и удобно..
сделайте у студента методы для установки получения фио, и в классах/функциях ввод/вывод использтуйте их..
чтоб не делать методы, можно оформить студента как структуру.. т.е. с открытыми полями..

но в любом случае старайтесь понимать чего хотите и именно это и реализовывать, а не вслепую переписывать участки кода..
удачи smile


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)