Find out the bug in this code,because of that this code
will not compile.......
#include <iostream>
#include <new>
#include <cstring>
using namespace std;
class balance {
double cur_bal;
char name[80];
public:
balance(double n, char *s) {
cur_bal = n;
strcpy(name, s);
}
~balance() {
cout << "Destructing ";
cout << name << "\n";
}
void set(double n, char *s) {
cur_bal = n;
strcpy(name, s);
}
void get_bal(double &n, char *s) {
n = cur_bal;
strcpy(s, name);
}
};
int main()
{
balance *p;
char s[80];
double n;
int i;
try {
p = new balance [3]; // allocate entire array
} catch (bad_alloc xa) {
cout << "Allocation Failure\n";
return 1;
}
Answers were Sorted based on User's Feedback
Answer / pramodsingh_45
this is the key point in c++ when you are allocating entire
array by new operator....you must add parameterless
constructor...
so here is the solution....
add this...within the class.
balance() {}//parameterless constructor
and be happy..... :)
| Is This Answer Correct ? | 5 Yes | 0 No |
what do you mean by memory management operators
Explain the concept of copy constructor?
How do we balance an AVL Tree in C++?
Can we use clrscr in c++?
What is pure virtual function? Or what is abstract class?
What is the use of string in c++?
What is late binding c++?
In java a final class is a class that cannot be derived. How can you make a similar class in C++
Define a conversion constructor?
What are the benefits of pointers?
How do you find out if a linked-list has an end?
What is a storage class used in c++?