Kselax.ru

Hacker Kselax — the best hacker in the world

Menu
  • Блог
  • Контакты
  • wp plugin генератор
  • Русский
    • Русский
    • English
Menu

Проверка аргументов шаблонов.

Posted on 11 Апрель, 201313 Апрель, 2013 by admin

Разработайте схему, гарантирующую, что компилятор проверяет общие ограничения на аргументы шаблонов, для которых создаются объекты. Не достаточно проверить просто проверить ограничения вида «Т должно быть типом производным от My_base».

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

Да вообщем не понятная задача. Что  я должен сделать? Я не знаю, что тут делать. Предположим да я считаю файл и проверю вместо компилятора, но по условию нужно сделать так, чтобы компилятор сам проверял, так он и так гарантировано проверяет. Короч галимая задачка. Ну я кое, что набрасал для начала это код который просто считывает файл в массив строк и выводит на экран, это я так как бы начало делал и решил всетаки забить. От хоть какой то код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//obwie ogranicheni9 na argymentu wablonov
#include <iostream>
using std::cout;
using std::endl;
using std::ios;
using std::cerr;
#include <cstdlib>
using std::exit;
#include <fstream>
using std::ifstream;
#include <string>
using std::string;
 
int main(int argc,char* argv[])
{
char f[]="ex13_14.cpp";
cout <<f<<endl;
ifstream read(f,ios::in);
if(!read)
{
cerr<< "don't open file"<<endl;
exit(1);
}
string c;
string mass[500]="";
int count=0;
while(getline(read,c))
{
//cout <<c<<endl;
mass[count++]=c;
}
cout <<endl;
for(int i=0;i<count;i++)
cout <<mass[i]<<endl;
return 0;
}

Задача вообщем так и остается не решенной, но как говорится какая задача, такое и решение. Условие, то не понятное, явно не видно как что делать. Значит и решение такое получается гомнясное. 🙂 Ладно когда нибудь мб дорешаю.

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

4 thoughts on “Проверка аргументов шаблонов.”

  1. Evgeny:
    27 Июнь, 2013 в 15:48

    Not sure about whether it is the right answer, but I came up with this idea:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    ; html-script: false ]
    class AAA { };
     
    class BBB : public AAA
    {
    public:
     
    void operator+ (const BBB& bbb){};
    void get(){};
    };
     
     
    template class ABC
    {
    public:
    static void Check()
    {
    T t1, t2;//The template parameter should has default constructor
    AAA* a = &t1;//The template parameter isn't child of AAA
    t1 + t2;//The template parameter should define operator+
    t1.get();//The template parameter should define get() function
    }
    };
     
    BOOST_AUTO_TEST_CASE( Exe16 )
    {
    ABC::Check();
    }

    Ответить
  2. Evgeny:
    27 Июнь, 2013 в 15:51

    This command should be invoked.
    «ABC::Check();»
    This line has an error in previous listing.

    Ответить
  3. Evgeny:
    27 Июнь, 2013 в 15:52

    Hell!!! It doesn’t display properly

    Ответить
  4. Evgeny:
    27 Июнь, 2013 в 15:53

    And also all templates arguments have gone… I’m sorry for this code.

    Ответить

Добавить комментарий Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Рубрики

  • C++ (293)
  • JavaScript (1)
  • linux (1)
  • MFC (39)
  • node.js (2)
  • React (3)
  • vBulletin (5)
  • Visual Studio (9)
  • wordpress (18)
  • Разное (29)

Метки

Ajax bootstrap CentOS CLI expressjs FormData GDlib google Invisible reCAPTCHA JWT media MFC php react-router-dom redux repository wordpress RTTI STL vBulletin vector Visual Studio WINAPI wordpress wp-plugins XMLHttpRequest Двоичное дерево Задачи С++ Игры С++ Исключения С++ О-большое Операторы_С++ Перегрузка операторов С++ Поиск С++ Потоки Проектирование_С++ С++ Типы_С++ Типы С++ Шаблоны С++ библиотеки локализация макросы С++ сортировка С++

Свежие комментарии

  • Samueldricy к записи Программка для заполнения форума на vBulletin 3.8.7
  • Andreybib к записи callback функции — функции обратного вызова.
  • Josephhaulp к записи Создание и использование динамических библиотек .dll в visual studio.
  • Felipesnaxy к записи Создание и использование динамических библиотек .dll в visual studio.
  • VincentKnifs к записи Создание и использование динамических библиотек .dll в visual studio.
©2019 Kselax.ru Theme by ThemeGiant