Obviously you have not taken on the advice I gave you in your last question. And you should take Richard's advice in solution 1 serious and work through your code either by pencil and paper or by running it in a debugger. Then you would have noticed that your function addd has some serious problems:
1) It does not refer to the parameters A and B at all! How could it possibly work.
In fact you are just adding the object's value to itself.
2) It does not return anything. Where are you planning to deposit the result.
3) The local variable result is not allocated in the correct size:
static int size = 20;
void addd(const bigint &A, const bigint &B)
{
int i;
int result[size];
...
For one you should get a compiler warning, as size is not a const int. The size you are using here is a compile time constant. But your bigint class allows objects of different sizes. If you are working on a bigint with a larger size, this code will fail!
4) Your test output with cout only shows digits that are not equal to 0.