Loading...
slavib avatar slavib 0 Точки

Защо вектора дефиниран в конструктура не приема стойностите от insert функцията ?

Не мога да разбера защо companies вектора не приема стойностите които му се подават от insert.



#include "Company.h"
class OrderedInserter {

public:
     std::vector<const Company*> comies;

public:
    OrderedInserter(const std::vector<const Company *>& companies)
                                        : comies(companies) {}

    void insert(const Company* c) {
        comies.push_back(c);

       // std::sort(companies.begin(), companies.end());
    }
};
Тагове:
0
C++ Advanced
j.petrov_90 avatar j.petrov_90 373 Точки

Привет, колега,

Векторът, който е вътре в класа ти приема стойностите на insert функцията и си работи отлично.

Не знам дали забеляза, обаче, в задачата в main.cpp файла се печатат стойностите на вектора, който се намира в main функцията, а не този вътре в класа.

Но ние работим с класа, а искаме да печатаме нещо друго, което е отвън...
Имаме 2 обекта от тип std::vector<>, но искаме те да работят върху една и съща памет. Как става това? :)

Поздрави

0
01/12/2019 10:24:10
kolioi avatar kolioi 641 Точки

Не знам какво е условието на задачата и какво искаш да направиш, но за да ти тръгне кода, comies трябва да го направиш референция към вектор

std::vector<const Company*>& comies;

и в конструктора не трябва да подаваш const

OrderedInserter(std::vector<const Company *>& companies)
	: comies(companies) {}

при което целия клас малко се обезмисля, ама не знам каква ти е идеята :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.