Как я могу применить объект к типу данных, например int/string? Ниже приведен пример кода:Включить объект в тип данных?
Я хочу, чтобы иметь возможность использовать следующие дополнить integers
и var
например var = <expression> + <expression> ; //expression can be int or var
Вот код вар:
#pragma once
#include <string>
class vars
{
public:
vars(std::string Name):name(Name){value = 0;}
void setValue(int val);
int getValue(void) const;
// std::string getName(void) const;
~vars(void);
private:
std::string name;
int value;
};
и вот код добавления:
#pragma once
#include "action.h"
#include "vars.h"
class add: public action
{
public:
add(vars& v, int s1, int s2):target(v),source1(s1),source2(s2){} //downcast the vars to int if needed, how to do so explicitly?
virtual void excute();
~add(void);
private:
vars& target; //not sure of it
int source1, source2;
};
в 'auto sum = 1 + static_cast (var);' я получу '1 + var.value;'? другими словами, каково значение var, которое я получу после того, как оно будет передано в 'int' –
. Это зависит от того, как вы определяете' operator int() '. Это зависит от вас. Но в этом примере кода - да. – Otomo