мой заголовочный файл
Код: Выделить всё
#ifndef _COMPANY_H
#define _COMPANY_H
#include "Shop.h"
#include
#include
#define MAX_SHOPS_NUMBER 10
#define MAX_NAME_LENGTH 10
class Company {
private:
std::string name;
Shop* shops[MAX_SHOPS_NUMBER];
int shopsNumber;
public:
Company();
Company(std::string name, Shop* shops[], int shopsNumber);
std::string getName() const;
Shop** getShops() ; //problem here
int getShopsNumber() const;
void setName(std::string name);
void setShops(Shop* shops[]);
void setShopsNumber(int shopsNumber);
void addShop(Shop* newShop);
void printShopsByName();
void printShopsByDay();
~Company();
};
#endif
Код: Выделить всё
#include "Company.h"
#include
#include
#define MAX_SHOPS_NUMBER 10
#define MAX_NAME_LENGTH 10
//default c'tor
Company::Company() {
name = "~";
Shop s;
*shops = new Shop[MAX_SHOPS_NUMBER];
shopsNumber = 0;
}
//c'tor
Company::Company(std::string newName, Shop* shops[], int shopsNumber) {
if (newName.length() < MAX_NAME_LENGTH) {
std::cout shopsNumber = shopsNumber;
}
//d'tor
Company::~Company() {
delete[] shops;
}
std::string Company::getName() const {
return name;
}
Shop** Company::getShops() {
return *shops; //says return value type does not match function
}
Код: Выделить всё
Shop* Company::getShops() {
return *shops;
я попробовал изменить тип возвращаемой переменной в конструкции на shop** shop вместо shop* shop[] и я несколько раз играл с синтаксисом, но больше ничего не помогало.
Подробнее здесь: https://stackoverflow.com/questions/792 ... r-to-array
Мобильная версия