Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Пример выполнения в виде одного файла без конструктора

Читайте также:
  1. I.1.2 Подготовка ASCII-файла.
  2. IX. ПОРЯДОК ВЫПОЛНЕНИЯ ПРИЕМОВ на МАЛОЙ ЧКАЛОВСКОЙ ЭСТАФЕТЕ.
  3. IX. Порядок выполнения приемов.
  4. V Ввод бокового пути можно осуществить, начиная от предвходного светофора при следовании по правильному пути.
  5. V. Примерный образец теста, применяемого для промежуточной аттестации
  6. VIII. ПОРЯДОК ВЫПОЛНЕНИЯ ПРИЕМОВ на БОЛЬШОЙ ЧКАЛОВСКОЙ ЭСТАФЕТЕ.
  7. Wadmerger: назначение звуков wad-файлам и объектам
  8. Web-контейнер, Servlet, JSP. Структура, назначение и пример сервлета или JSP.
  9. X. Порядок выполнения приемов.
  10. А вот чрезмерное употребление алкоголя действительно вызывает гинекомастию. Примерно четверо из 10 хронических алкоголиков имеют это заболевание в той или иной стадии развития.

#include "stdafx.h"

#include <iostream>

#include <stdlib.h>

#include<conio.h>

#include <string.h>

#include <iomanip>

#include <windows.h>

#include <locale.h>

#define N 3

using namespace std;

class church

{

char *name; // все элементы данных private – по умолчанию

char school;

unsigned int count;

float square;

public:

void set(char *a,char b,unsigned int c, float d);

void get(char *a, char &b, unsigned int &c, float &d);

void show(void);

};//конец класса

 

void church::set(char *a,char b,unsigned int c,float d)

{

name=new char[];

strcpy(name,a);

//name=a;

school=b;

count=c;

square=d;

}

 

void church::get(char *a, char &b, unsigned int &c, float &d)

{

delete[] a;

a=new char [strlen(name)+1];

strcpy(a,name);

b=school;

c=count;

d=square;

}

 

void church::show(void) {

cout << name <<" ";

cout << school <<" ";

cout << count <<" ";

cout << square <<" ";

}

 

 

int main()

{

setlocale(LC_ALL, "rus");

char *n=new char[100];

char t;

unsigned int s;

float h;

short i;

 

church obj[N];

//clrscr();

cout<<"Работа функции SET!\n";

for (i=0; i<N; i++)

{

cout<<"Название, Школа, Количество монахов, Площадь земли: \n";

cout<<"\n==>";

cin>>n;

cout<<"\n==>";

cin>>t;

cout<<"\n==>";

cin>>s;

cout<<"\n==>";

cin>>h;

obj[i].set(n,t,s,h);

}

cout<<"Работа функции SHOW!\n";

cout<<"Название, Школа, Количество монахов, Площадь земли: \n";

for (i=0; i<N; i++)

{

obj[i].show();

cout<<"\n";

}

cout<<"Работа функции GET и SHOW!\n";

cout<<"Название, Школа, Количество монахов, Площадь земли: \n";

for(i=0; i<N; i++)

{

obj[i].get(n,t,s,h);

obj[i].show();

cout<<"\n";

}

_getch();

delete[] n;

return 0;

}

Пример выполнения в виде одного файла с конструктором (в примере два варианта вызова конструктора – по умолчанию и со списком)

#include <stdafx.h>

#include <iostream>

#include <stdlib.h>

#include<conio.h>

#include <string.h>

#include <iomanip>

#include <locale.h>

#include <windows.h>

 

#define N 3

 

using namespace std;

 

class church

{

char *name;// все элементы данных private – по умолчанию (см. лекцию)

char school;

unsigned int count;

float square;

 

public:// прототипы методов

church (char* _name = "По умолчанию", char _school = 'А', unsigned int _count = 0, float _square = 0.); //конструктор по умолчанию заполняет все члены-данные

~church ();//прототип деструктора

void set(char *a,char b,unsigned int c, float d);

void get(char *a, char &b, unsigned int &c, float &d);

void show(void);

};//конец класса

 

church::~church ()//деструктор

{

cout<<"\n работает деструктор - объект уничтожен\n";

}

 

church::church (char* _name, char _school, unsigned int _count, float _square)

{

cout<<"работает конструктор\n";

name=new char[];

strcpy(name, _name);

school = _school;

count = _count;

square = _square;

}

 

void church::set(char *a, char b,unsigned int c,float d)

{

name=new char[];

strcpy(name, a);

school=b;

count=c;

square=d;

}

 

 

void church::get(char *a, char &b, unsigned int &c, float &d)

{

delete[] a;

a=new char [strlen(name)+1];

strcpy(a,name);

b=school;

c=count;

d=square;

}

 

void church::show(void)

{

cout<<name<<" ";

cout<<school<<" ";

cout<<count<<" ";

cout<<square<<" ";

}

 

 

int main()

{

setlocale(LC_ALL, "rus");

//SetConsoleCP(1251);

//SetConsoleOutputCP(1251);

char *n=new char[100];

char t;

unsigned int s;

float h;

short i;

 

church obj[N];//созданы просто для примера З объекта конструктором по умолчанию

/* можно было бы и с инициализацией массива объектов:

church obj[N]={church("Тодайдзи","Т",220,368.8),

church("Якусидзи","С",50,54.7),

church("Дайандзи","Д",10,12.2)};

*/

cout<<"Результат работы конструктора по умолчанию: \n";

 

for (i=0; i<N; i++)

{

obj[i].show();

cout<<"\n";

}

 

cout<<"\nРезультат работы конструктора с указанием параметров: \n";

church obj1("name", 'r', 10, 10.657);

obj1.show();

obj1.~church();

 

cout<<"\nРабота функции SET!\n";// для примера

 

for (i=0; i<N; i++)

{

cout<<"Название, Школа, Количество монахов, Площадь земли: \n";

cout<<"\n==>";

cin>>n;

cout<<"\n==>";

cin>>t;

cout<<"\n==>";

cin>>s;

cout<<"\n==>";

cin>>h;

obj[i].set(n,t,s,h);

}

cout<<"Работа функции SHOW!\n";

cout<<"Название, Школа, Количество монахов, Площадь земли: \n";

for (i=0; i<N; i++)

{

obj[i].show();

cout<<"\n";

}

cout<<"Работа функции GET!\n";

cout<<"Название, Школа, Количество монахов, Площадь земли: \n";

for(i=0; i<N; i++)

{

obj[i].get(n,t,s,h);

obj[i].show();

 

}

_getch();

delete[] n;

return 0;

}

 

 




Дата добавления: 2015-09-11; просмотров: 72 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Задание к выполнению| ТЕМА:«Анализ стандарта основного общего образования по технологии (базовые разделы)».

lektsii.net - Лекции.Нет - 2014-2025 год. (0.013 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав