Answer:
The answer to this question can be given as:
Class definition:
public class Averager //define class Average.
{
private int sum = 0;
//define variable sum.
private int count = 0;
//define variable count.
public int getSum() //define function getSum().
{
return sum; //return value.
}
public void add(int x)
//define function add().
{
sum = sum + x; //calculate sum
count=count+1; //increase value of count.
}
public int add(int x)
//define function add().
{
return count; //return value.
}
public double getAverage() //define function getAverage().
{
return (double)sum/count; //return value
}
}
Explanation:
The above class definition can be described as:
- In the above class definition first we define a class that is " Averager". In this class we define two integer variable that is "sum and count" and assign a value that is 0. Then we define a functions :
- First we define getSum() function in this function we does not pass any value and the return type of this function is int that will return an integer value.
- Then we define add() function we use this function two times but both functions have different from each other.
- In first time implementation, we define this function and the return type of this function is void which means it does not return any value. In this function, we calculate the sum value and increase the value of the count variable by 1.
- In second time implementation, we define this function and the return type of this function is int which means it will return a value. In this function, we will return the count variable value.
- At the last, we define a getAverage() that calculates the average of the added values in the sum variable and returns its value.
Answer:
A. Arbitrary code execution
Explanation:
A buffer-overrun, also known as buffer overflow occurs when a programmer makes an error during coding, which could make his system easily susceptible to attacks from a hacker. The root cause of this problem is an overflow of data in a buffer, and programs that are written in C and C+ + are more likely to be affected by this problem. When a buffer-overrun occurs, it would most likely lead to arbitrary code execution.
Arbitrary code execution is an uncontrolled and unrestricted coding by the attacker which alters the original coding. The attacker could input more information into the coding, which alters the original information and which would make the application porous and accessible by just anyone. It is important that programmers run regular tests on their programs, so as to detect any coding errors.