Sandip 3vedi Ответов: 2

программа одинарного наследования на простом c++.


#include<iostream.h>
#include<conio.h>

class student
{
	public:
	int rno;
	//float per;
	char name[20];
	void getdata()
	{
		cout<<"Enter RollNo :- \t";
		cin>>rno;
		cout<<"Enter Name :- \t";
		cin>>name;
		
	}
	
};
class marks : public student
{
public:
	int m1,m2,m3,tot;
	float per;
	void getmarks()
	{
		getdata();
		cout<<"Enter Marks 1 :- \t";
		cin>>m1;
		cout<<"Enter Marks 2 :- \t";
		cin>>m2;
		cout<<"Enter Marks 2 :- \t";
		cin>>m3;
	}
	void display()
	{
		getmarks();
		cout<<"Roll Not \t Name \t Marks1 \t marks2 \t Marks3 \t Total \t Percentage";
		cout<<rno<<"\t"<<name<<"\t"<<m1<<"\t"<<m2<<"\t"<<m3<<"\t"<<tot<<"\t"<<per;
	}
};
void main()
{
	student std;
	clrscr();
	std.getmarks();
	std.display();
	getch();
}

Mohibur Rashid

и в чем же тогда ваша проблема??

вы определили переменную std?
пространство имен было определено именем std. Он должен конфликтовать.

Richard MacCutchan

Имя переменной не будет конфликтовать с именем пространства имен.

Philippe Mori

Это не имеет никакого смысла выводить marks от student (Маркс-это не студент) Таким образом, весь вопрос бессмыслен и не стоит никакого смысла.

Member 12105626

Неправильное создание объекта...

2 Ответов

Рейтинг:
1

OriginalGriff

Нет, это не сработает:
Вы объявили std в качестве члена student класс, а не а marks класс. Таким образом, он не имеет доступа к getmarks или display методы.
Попробуйте изменить определение, чтобы быть членом marks класс - тогда у него будут все члены отметок, плюс все члены студента.

То, что вы сделали, немного похоже на то, как говорят: "учебник физики-это книга, поэтому любая книга должна содержать информацию о моем курсе физики".


Рейтинг:
1

Shiva Singh

#include<iostream.h>
#include<conio.h>

class student
{
	public:
	int rno;
	//float per;
	char name[20];
	void getdata()
	{
		cout<<"Enter RollNo :- \t";
		cin>>rno;
		cout<<"Enter Name :- \t";
		cin>>name;
		
	}
	
};
class marks : public student
{
public:
	int m1,m2,m3,tot;
	float per;
	void getmarks()
	{
		getdata();
		cout<<"Enter Marks 1 :- \t";
		cin>>m1;
		cout<<"Enter Marks 2 :- \t";
		cin>>m2;
		cout<<"Enter Marks 2 :- \t";
		cin>>m3;
                              tot=m1+m2+m3;
                              per=tot/3;
	}
	void display()
	{
		
		cout<<"Roll Not \t Name \t Marks1 \t marks2 \t Marks3 \t Total \t Percentage";
		cout<<rno<<"\t"<<name<<"\t"<<m1<<"\t"<<m2<<"\t"<<m3<<"\t"<<tot<<"\t"<<per;
	}
};
void main()
{
	marks m;
	clrscr();
	m.getmarks();
	m.display();
	getch();
}


jeron1

Надеюсь, они поняли это за последние 5 лет.

[no name]

И, несмотря на то, что вы думаете, совсем не полезно делать за них чужие домашние задания. Единственное, чему они научатся, - это тому, что кто-то будет делать за них их работу.

Shiva Singh

Хм, но я обновил код, там были некоторые ошибки, и код не был полным. :-)

[no name]

Хм ... но это не имеет значения. Его домашнее задание должно было быть сделано давным-давно, и эти интернет-точки действительно ничего не стоят.

Shiva Singh

Ну ладно.