H.K.A2 Ответов: 3

Класс не распознается


//program
#include<iostream.h>
class student
{
int rollno;
char name[20];
int marks;
public:
student(int rollno,char name[20],int marks);
student(student &s)
{
rollno=s.rollno;
name==s.name;
marks=s.marks;
}
void display()
{
cout<<rollno<<name<<marks;
}
};
void main()
{  str="hka";
student stud1(23,str,100);
student stud2(stud1);
stud2.display();
}

Пожалуйста, скажите мне, где я должен исправить свой код..

Что я уже пробовал:

Попытался инициализировать строку

3 Ответов

Рейтинг:
14

Leo Chapiro

Попробовать это:

//program
#include <iostream>

class student
{
private:
	int rollno;
	char name[20];
	int marks;

public:
	student(int _rollno, const char* _name, int _marks)
	{
		memset(name, 0, 19);
		rollno = _rollno;
		strcpy_s(name, _name);
		marks = _marks;
	}

	student(student &s)
	{
		rollno = s.rollno;
		strcpy_s(name, s.name);
		marks = s.marks;
	}

	void display()
	{
		std::cout << rollno << ", " << name << ", " << marks;
	}
};

void main()
{
	const char *str = "hka\0";
	
	student stud1(23, str, 100);
	student stud2(stud1);
	stud2.display();
}


H.K.A2

Большое спасибо за вашу помощь.. Но что такое мемсет?

Leo Chapiro

функцию memset(Void *после этого стр, инт с, представляют собой типы size_t N) и копирует символ c (беззнаковый тип char) для первых n символов строки указал на, по ул. аргумента.
Это просто инициализация "имени" с 0.

Рейтинг:
1

KarstenK

Вы должны реализовать первый конструктор student. Имена классов начинаются с заглавной буквы.

Ans переменная "str" не определена. Остальное читайте в сообщениях об ошибках с больше заботы и погуглите номер ошибки. В основном они понятны.

Посетите некоторые учебные пособия, такие как Изучите учебник CC++ для получения дополнительной информации о программировании, например синтаксисе кода и отладке.


CPallini

Нет, имена классов не должны быть прописными.

Рейтинг:
0

Mohibur Rashid

Какой компилятор вы используете? Turboc++ 3.0? Если это так, начните с того, чтобы бросить его.
cout находится в пространстве имен std.
Используйте iostream, а не iostream.h,
вам нужно объявить тело конструктора
Ваш г. не объявляется