Предыдущий пост -
Следующий пост -

тип phone_number.

Рубрика: C++, Дата: 14 May, 2013, Автор:
Tags: ,

Существуют телефонные номера, которые не вмещаются в тип long. Напишите тип phone_number и класс, предоставляющий набор полезных операций с контейнером телефонных номеров типа phone_number.

В общем написал я простую программку.  Ну объяснять ничего не буду. Да и проблем много возникло. Казалось бы простая программка, а я чуток при забыл как что делать. От пример кода.

Файл Phone_number.h:

//opredelenie
#ifndef PHONE_NUMBER
#define PHONE_NUMBER

#include <string>
using std::string;
#include <iostream>
using std::cout;
using std::endl;
using std::ostream;

class Phone_number
{
	string tel;
public:
	//конструктор по умолчанию
	Phone_number():tel("0"){}
	//конструктор преобразования
	Phone_number(string& s);
	Phone_number(const char* s);
	//конструктор копирования
	Phone_number::Phone_number(const Phone_number& s);
	//выдать телефон
	string getTel();
	//напечатать телефон
	void print();
	//перегрузим оператор вывода
	friend ostream& operator<<(ostream& o,Phone_number& a);
};

#endif

Файл Phone_number.cpp:

#include <iostream>
using std::cout;
using std::endl;
using std::ostream;

#include "Phone_number.h"

//конструктор преобразования
Phone_number::Phone_number(string& s):tel(s){}
Phone_number::Phone_number(const char* s):tel(s){}
//конструктор копирования
//какимто макаром произошол доступ к закрытому члену класса.
Phone_number::Phone_number(const Phone_number& s):tel(s.tel){}
//выдать телефон
string Phone_number::getTel(){return tel;}
//функция печати телефона
void Phone_number::print()
{
	cout <<tel;
}
//перегрузим оператор вывода
ostream& operator<<(ostream& o,Phone_number& a)
{
	o <<a.getTel();
	return o;
}

И файл main.cpp:

//type phone_number
#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
#include "Phone_number.h"
#include <vector>
using std::vector;

int main()
{
	//cout <<"type phone_number"<<endl;
	Phone_number ph("44000330303");
	ph.print();
	cout <<endl;
	vector<Phone_number> vec;
	vec.push_back("432423423423");
	vec.push_back("333333333333333");
	vec.push_back("4444444444444444");
	vec.push_back("88888888888888888888");

	//выведем номера телефонов на экран
	for(int i=0;i<4;i++)
		cout <<vec[i]<<endl;


	return 0;
}

Так переходим к следующей задачке это написать игру солитер.

[youtube]http://www.youtube.com/watch?v=f5SceLSWXjo[/youtube]

rss