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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2018, 22:12   #1
DellXT
Пользователь
 
Регистрация: 17.04.2018
Сообщений: 28
По умолчанию Не получается создать библиотеку

Всем привет. Столкнулся с интересной задачей - создать библиотеку для графической визуализации консольного окна. Т.е. по командам должны меняться цвет фона/текста, место текста в окне, размер шрифта. Также доступна возможность создать текстовое поле, цвет и размер которого можно выбирать. Что-то у меня уже есть. Но проблема в том, что оно даже не компилируется.

Win.cpp
Код:
#include "win.h"
namespace lng{
HANDLE console=GetStdHandle(STD_OUTPUT_HANDLE);

   class colorClass
    short color;
  public:
    bool setcolor(short);
    short getcolor();

colorClass::colorClass(){
  color = 0b00001111;
};
colorClass::~colorClass(){
  SetConsoleTextAttribute(console,15);
};
short colorClass::getcolor(){ return color; };
bool  colorClass::setcolor(short color) {
  this->spalva = spalva;
  return true;
};
 cordinatesClass
    CORD cordinate;
  public:
    bool setcord(CORD);
    alternative: bool setcord(short, short);
    CORD getcord();
    alternative: void getcord(short&, short&);
cordinatesClass::cordinatesClass(){
  cordinate.X = 5; cordinate.Y = 5;
}
void cordinatesClass::getcord(short& X, short& Y){
  X=cordinate.X;
  Y=cordinate.Y;
}
bool cordinatesClass::setcord(short X, short Y){
  this->cordinate.X = X;
  this->cordinate.Y = Y;
  return true;
}
winClass :public colorClass
  cordinatesClass cord, size;
    bool doubleline, frame;
    bool setcolor(short);
	short getcolor();
	winClass();
  ~winClass();
  void draw();
  bool setcord(short, short);
  bool setsize(short, short);
  void setframe(bool);
  void setline(bool);
winClass::winClass(){
  doubleline=true;
  frame=true;
}
void winClass::draw(){
  short tempX, tempY;
  this->cord.getcord(tempX, tempY);
  CORD tempK={tempX, tempY};
  SetConsoleTextAttribute(console, this->getcolor());
  this->size.getcord(tempX, tempY);
  for(int y=0; y<tempY; y++)
  {
    tempK.Y = tempY + y;
    SetConsoleCursorPosition(console, tempK);
    std::cout << std::setw(tempX)<< ' ';
  }
  }
bool winClass::setcord(short cordinateX, short cordinateY){
  this->cord.setcord(cordinateX, cordinateY);
};
bool winClass::setsize(short sizeX, short sizeY){
};
void winClass::setframe(bool showframe){
};
void winClass::setline(bool doubleline){
};
}
Win.h
Код:
#ifndef WIN_H
#define WIN_H
#include <windows.h>
#include <iostream>
#include <iomanip>

namespace lng{
class colorClass{
private:
	short color;
public:
  colorClass();
  ~colorClass();
	bool setcolor(short);
	short getcolor();
};

class cordinatesClass{
	CORD cordinate;
public:
  cordinatesClass();
	bool setcord(short, short);
	void getcord(short&, short&);
};

class winClass:public colorClass {
private:
  cordinatesClass cord, size;
  bool doubleline, frame;
public:
  bool setcolor(short);
  short getcolor();
	winClass();
  void draw();
  bool setcord(short, short);
  bool setsize(short, short);
  void setframe(bool);
  void setline(bool);
};

class textClass : public winClass {
private:
  std::string text;
public:
  bool settext(std::string);
  void draw();
};
}
#endif
Main.cpp
Код:
#include <iostream>
#include "win.h"
using namespace std;

int main() {
  lng::winClass newwin, nextwin;
  newwin.setcolor(0b00011010);
  newwin.draw();
  return 0;
}
Помогите разобраться в коде. А то без очевидного результата не могу опознать что в нем хорошо, а что нет.
DellXT вне форума Ответить с цитированием
Старый 22.11.2018, 09:28   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Так компилятор что пишет? Или мы должны из этого сами проект собрать?

Хотя
Код:
class colorClass
    short color;
  public:
    bool setcolor(short);
    short getcolor();
Что это за копи-паста в Win.cpp ? Зачем вы туда кусок объявления класса скопировали? Да еще и без скобок...

Последний раз редактировалось p51x; 22.11.2018 в 09:30.
p51x вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается импортировать библиотеку "net" Java RichiSP Общие вопросы по Java, Java SE, Kotlin 7 15.03.2016 13:48
Можно ли создать библиотеку импорта для сторонней DLL? taras-proger Win Api 16 14.09.2015 12:39
С#: Не получается создать процесс mzelenyy Общие вопросы .NET 2 20.09.2013 00:19
не получается создать dll monnzz Общие вопросы C/C++ 1 08.04.2013 01:53
Не получается подключить библиотеку Fann к Visual C++ 6 andrejf92 Visual C++ 8 11.12.2012 17:34