1. Пример определения класса.
const int LNAME=25;
class STUDENT{
char name[LNAME]; // имя
int age; // возраст
float grade; // рейтинг
public:
STUDENT(); // конструктор без параметров
STUDENT(char*,int,float); // конструктор с параметрами
STUDENT(const STUDENT&); // конструктор копирования
~STUDENT();
char * GetName() ;
int GetAge() const;
float GetGrade() const;
void SetName(char*);
void SetAge(int);
void SetGrade(float);
void Set(char*,int,float);
void Show(); };
C++, классы.Дороботать программу
Код:
Написала код по полям
АДРЕС
имя – char*
улица – char*
номер дома – int
Код:
#include <iostream.h>
#include <conio.h>
class adress
{
char *name;
char *ulitca;
int number;
public:
adress()
{name=NULL;
ulitca=NULL;
number=1;}
adress(char *zn_n, char * zn_u, int zn_num)
//number(zn_num)
{ name=new char[strlen(zn_n)+1];
strcpy(name,zn_n); }
{ ulitca=new char[strlen(zn_u)+1]; //???
strcpy(ulitca,zn_u);}
adress(const adress &)
{number=A.number;
name=new char[strlen(A.name)+1];
strcpy(name,A.name);
ulitca=new char[strlen(A.ulitca)+1];
strcpy(ulitca,A.ulitca);}
~adress()
{
if (name) delete []name;}
void reset_name(char *zn_n)
{ if(strlen(name)<strlen(zn_n))
{ delete[] name;
name=new char[strlen(zn_n)+1];
strcpy(name,zn_n);}}
void reset_ulitca(char *zn_u)
{ if (strlen(ulitca)<strlen(zn_u))
{ delete [] ulitca;
ulitca=new char[strlen(zn_u)+1];
strcpy(ulitca, zn_u);}}
void add_number()
{number+1}
//void print()Как тут сделать вывод
void main()
{adress a,a1("Lena","lenina",2),
a2(a1),a3("Sasha","Pobeda",number);
cout<<"\nVvedite name";
char *buf=new char[40];
char *buf1=new char[40];
cin.getline(buf,40);
cin.getline(buf1,40);
a.reset_name(buf);
a.reset_ulitca(buf1);
a2.reset_name("Ne ne Lena");
a2.reset_ulitca("Ne Pobeda");
a2.add_number();
a.print();
a1.print();
a2.print();
a3.print();
#include <conio.h>
class adress
{
char *name;
char *ulitca;
int number;
public:
adress()
{name=NULL;
ulitca=NULL;
number=1;}
adress(char *zn_n, char * zn_u, int zn_num)
//number(zn_num)
{ name=new char[strlen(zn_n)+1];
strcpy(name,zn_n); }
{ ulitca=new char[strlen(zn_u)+1]; //???
strcpy(ulitca,zn_u);}
adress(const adress &)
{number=A.number;
name=new char[strlen(A.name)+1];
strcpy(name,A.name);
ulitca=new char[strlen(A.ulitca)+1];
strcpy(ulitca,A.ulitca);}
~adress()
{
if (name) delete []name;}
void reset_name(char *zn_n)
{ if(strlen(name)<strlen(zn_n))
{ delete[] name;
name=new char[strlen(zn_n)+1];
strcpy(name,zn_n);}}
void reset_ulitca(char *zn_u)
{ if (strlen(ulitca)<strlen(zn_u))
{ delete [] ulitca;
ulitca=new char[strlen(zn_u)+1];
strcpy(ulitca, zn_u);}}
void add_number()
{number+1}
//void print()Как тут сделать вывод
void main()
{adress a,a1("Lena","lenina",2),
a2(a1),a3("Sasha","Pobeda",number);
cout<<"\nVvedite name";
char *buf=new char[40];
char *buf1=new char[40];
cin.getline(buf,40);
cin.getline(buf1,40);
a.reset_name(buf);
a.reset_ulitca(buf1);
a2.reset_name("Ne ne Lena");
a2.reset_ulitca("Ne Pobeda");
a2.add_number();
a.print();
a1.print();
a2.print();
a3.print();
но в тут есть ошибки а каких устранить, не знаю.
Код:
//---------------------------------------------------------------------------
[COLOR="SeaGreen"]#pragma hdrstop[/COLOR]
//---------------------------------------------------------------------------
[COLOR="SeaGreen"]#include <iostream.h>
#include <conio.h>[/COLOR]
class adress
{
char *name;
char *ulitca;
int number;
public:
adress()
{
name = NULL;
ulitca = NULL;
number = 1;
}
adress(char *zn_n, char * zn_u, int zn_num)
{
number = zn_num;
name = new char[strlen(zn_n) + 1];
strcpy(name, zn_n);
ulitca = new char[strlen(zn_u) + 1];
strcpy(ulitca, zn_u);
}
adress(const adress & A)
{
number = A.number;
name = new char[strlen(A.name) + 1];
strcpy(name, A.name);
ulitca = new char[strlen(A.ulitca) + 1];
strcpy(ulitca, A.ulitca);
}
~adress()
{
if(name)
delete[] name;
if(ulitca)
delete[] ulitca;
}
void reset_name(char *zn_n)
{
delete[] name;
name = new char[strlen(zn_n) + 1];
strcpy(name, zn_n);
}
void reset_ulitca(char *zn_u)
{
delete[] ulitca;
ulitca = new char[strlen(zn_u) + 1];
strcpy(ulitca, zn_u);
}
void add_number()
{
number + 1;
}
void print()
{
cout << endl << "name: " << name << endl;
cout << "ulitca: " << ulitca << endl;
cout << "number: " << number << endl << endl;
}
};
[COLOR="SeaGreen"]#pragma argsused[/COLOR]
int main(int argc, char* argv[])
{
adress a,
a1("Lena", "lenina", 2),
a2(a1),
a3("Sasha", "Pobeda", 3);
cout<<"\nVvedite name: ";
char *buf = new char[40];
cin.getline(buf, 40);
cout<<"\nVvedite ulitca: ";
char *buf1 = new char[40];
cin.getline(buf1, 40);
a.reset_name(buf);
a.reset_ulitca(buf1);
a2.reset_name("Ne ne Lena");
a2.reset_ulitca("Ne Pobeda");
a2.add_number();
a.print();
a1.print();
a2.print();
a3.print();
char ch;
cin >> ch;
return 0;
}
//---------------------------------------------------------------------------
[COLOR="SeaGreen"]#pragma hdrstop[/COLOR]
//---------------------------------------------------------------------------
[COLOR="SeaGreen"]#include <iostream.h>
#include <conio.h>[/COLOR]
class adress
{
char *name;
char *ulitca;
int number;
public:
adress()
{
name = NULL;
ulitca = NULL;
number = 1;
}
adress(char *zn_n, char * zn_u, int zn_num)
{
number = zn_num;
name = new char[strlen(zn_n) + 1];
strcpy(name, zn_n);
ulitca = new char[strlen(zn_u) + 1];
strcpy(ulitca, zn_u);
}
adress(const adress & A)
{
number = A.number;
name = new char[strlen(A.name) + 1];
strcpy(name, A.name);
ulitca = new char[strlen(A.ulitca) + 1];
strcpy(ulitca, A.ulitca);
}
~adress()
{
if(name)
delete[] name;
if(ulitca)
delete[] ulitca;
}
void reset_name(char *zn_n)
{
delete[] name;
name = new char[strlen(zn_n) + 1];
strcpy(name, zn_n);
}
void reset_ulitca(char *zn_u)
{
delete[] ulitca;
ulitca = new char[strlen(zn_u) + 1];
strcpy(ulitca, zn_u);
}
void add_number()
{
number + 1;
}
void print()
{
cout << endl << "name: " << name << endl;
cout << "ulitca: " << ulitca << endl;
cout << "number: " << number << endl << endl;
}
};
[COLOR="SeaGreen"]#pragma argsused[/COLOR]
int main(int argc, char* argv[])
{
adress a,
a1("Lena", "lenina", 2),
a2(a1),
a3("Sasha", "Pobeda", 3);
cout<<"\nVvedite name: ";
char *buf = new char[40];
cin.getline(buf, 40);
cout<<"\nVvedite ulitca: ";
char *buf1 = new char[40];
cin.getline(buf1, 40);
a.reset_name(buf);
a.reset_ulitca(buf1);
a2.reset_name("Ne ne Lena");
a2.reset_ulitca("Ne Pobeda");
a2.add_number();
a.print();
a1.print();
a2.print();
a3.print();
char ch;
cin >> ch;
return 0;
}
//---------------------------------------------------------------------------
Вот поправил немного)
З.Ы. Учись оформлять исходники)))
Спасибо, с оформлением только учусь, извени:)