Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2013, 02:26   #1
_yaroslav_
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 34
По умолчанию с++ Операторы ввода,вывода

Нужно добавить в эту прогу перезагрузку операторов ввода и вывода (<<,>>) и обработку ошыбочного ввода и вывода

Код самой проги:
Код:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#pragma argsused
#include <iostream.h>
#include <conio.h>
//---------------------------------------------------------------------------

class point{
	private:
		int fx;
  	int fy;
  public:
		point();
		~point();
		point(const point & p);
		point(int X,int Y);
    void operator = (const point &p);
    void operator += (const point &p);
    __property int x = { read = fx };
    __property int y = { read = fy };
};
//---------------------------------------------------------------------------

point::point(){
	fx = 0;
  fy = 0;
}
//---------------------------------------------------------------------------

point::~point(){}
//---------------------------------------------------------------------------

point::point(int X,int Y){
	fx = X;
  fy = Y;
}
//---------------------------------------------------------------------------

point::point(const point &p){
	fx = p.fx;
	fy = p.fy;
}
//---------------------------------------------------------------------------

void point::operator = (const point &p){
	fx = p.fx;
	fy = p.fy;
}
//---------------------------------------------------------------------------

void point::operator += (const point &p){
	fx += p.fx;
	fy += p.fy;
}
//---------------------------------------------------------------------------

class pixel : public point{
	private:
  	short fred;
  	short fgreen;
  	short fblue;
  public:
		pixel();
		~pixel();
		pixel(const pixel & px);
		pixel(short R, short G, short B, int X, int Y);
    __property short red   = { read = fred   };
    __property short green = { read = fgreen };
    __property short blue  = { read = fblue  };
};
//---------------------------------------------------------------------------

pixel::pixel() : point(){
	fred   = 0;
	fgreen = 0;
	fblue  = 0;
}
//---------------------------------------------------------------------------

pixel::pixel(const pixel & px) : point(px){
	fred   = px.fred;
	fgreen = px.fgreen;
	fblue  = px.fblue;
}
//---------------------------------------------------------------------------

pixel::pixel(short R, short G, short B, int X, int Y) : point(X, Y){
	fred   = R;
	fgreen = G;
	fblue  = B;
}
//---------------------------------------------------------------------------

pixel::~pixel(){
	point::~point();
}
//---------------------------------------------------------------------------

int main(int, char**){
	char c;
	int x,y;
  int r,g,b;
	cout << endl << "Program for classes with:"   << endl;
  cout << "1. Constructors of different types." << endl;
  cout << "2. Class inheritance."               << endl;
  cout << "3. Operator overloading."            << endl << endl;

  do {
  	cout << "Enter X coordinate: ";
    cin >> x;
  	cout << "Enter Y coordinate: ";
    cin >> y;
    cout << endl;

	  point p0;
	  printf("class point: p0.x = %d,\tp0.y = %d\n", p0.x, p0.y);
  	point p1(x, y);
	  printf("class point: p1.x = %d,\tp1.y = %d\n", p1.x, p1.y);
  	point p2(p1);
	  printf("class point: p2.x = %d,\tp2.y = %d\n", p2.x, p2.y);
    p0 = p1;
	  printf("class point, p0 = p1: p0.x = %d,p0.y = %d\n", p0.x, p0.y);
    p0 += p1;
	  printf("class point, p0 += p1: p0.x = %d,p0.y = %d\n", p0.x, p0.y);

  	cout << endl << "Enter R - red color value (0-255): ";
    cin >> r;
  	cout << "Enter G - green color value (0-255): ";
    cin >> g;
  	cout << "Enter B - blue color value (0-255): ";
    cin >> b;
    cout << endl;
	  pixel px1;
	  printf("pixel px1;\npx1.x = %d, px1.y = %d, px1.red = %d, px1.green = %d, px1.blue = %d,\n\n", px1.x, px1.y, px1.red, px1.green, px1.blue);
	  pixel px2(r, g, b, x, y);
	  printf("pixel px2(r, g, b, x, y);\npx2.x = %d, px2.y = %d, px2.red = %d, px2.green = %d, px2.blue = %d,\n\n", px2.x, px2.y, px2.red, px2.green, px2.blue);
	  pixel px3(px2);
	  printf("pixel px3(px2);\npx2.x = %d, px2.y = %d, px2.red = %d, px2.green = %d, px2.blue = %d,\n\n", px2.x, px2.y, px2.red, px2.green, px2.blue);
    cout << endl << "Do you want to exit loop (Y/N): ";
    c = getch();
    cout << endl << endl;
  }
  while(c != 'y' && c != 'Y');
	return 0;
}
//---------------------------------------------------------------------------
_yaroslav_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать рекурсивную процедуру для ввода с клавиатуры последовательности чи-сел (конец ввода – 0) и вывода её на экран в обратном netiv Паскаль, Turbo Pascal, PascalABC.NET 1 17.02.2012 18:14
C++, переопределение ввода-вывода Erisu Помощь студентам 9 16.06.2011 16:27
Операторы ввода и вывода wsws123 Паскаль, Turbo Pascal, PascalABC.NET 2 04.01.2011 18:12
переопределение ввода и вывода в С++ blackbanny Помощь студентам 12 03.05.2010 13:08
Перенаправление ввода/вывода dudeboy Win Api 0 16.11.2009 11:36