Я хочу построить какую-нибудь программу на C ++, но я совсем новичок в ООП и столкнулся с проблемой, с которой Google не может помочь мне сейчас. Я думаю, что C ++ находится в версии 14, но я все еще не уверен, как проверить это в VS2017. Я хочу использовать значения, передаваемые конструктору класса, в качестве значений по умолчанию для другого метода того же класса.
Специально для моей задачи я создаю простую кейс-программу для добавления двух int, которая находится в трех отдельных файлах и выглядит так:
main.cpp
#include <iostream>
#include "add_this.h"
using namespace std;
int main(int argc, char** argv)
{
Add plus(1, 2);
cout << plus.AddingResult(IF EMPTY, TAKE VALS 1 AND 2 FROM ABOVE plus) << endl;
return 0;
}
add_this.cpp
#include "add_this.h"
Add::Add(int a, int b)
{
}
Add::~Add()
{
}
int Add::AddingResult(int a, int b)
{
return a + b;
}
add_this.h
#pragma once
class Add
{
private:
int a;
int b;
public:
Add(int a, int b);
~Add();
int AddingResult(int a, int b);
};
Хорошо, если в main.cpp я передаю значения вручную в примере plus.AddingResult(2, 3)
, я получу 5. Моя проблема в том, что я хочу получить метод, который будет принимать значения b
или a
и b
(или в супер-версии метода будет b
вручную и передано a
от конструктора). Я пробую много подходов, связанных с указателями или определением методов Set и Get, но все они терпят неудачу в моей реализации - я не говорю, что они ошибочны, я говорю, что мои реализации были неверны. Я не буду прикреплять их для ясности вопроса.