Question: H, 
Here is my code that is giving error object is undeclared first use this function although every thing is alright, why is this happening so? that class is not visible to main function and its giving errors.

```
 #include <iostream.h>
 #include <stdio.h>
 #include <conio.h>
 using namespace std;
 class time
 {
  int min;
  int sec;
  int hour;

  public:
         time()
         {
               cout << "uninitialized constructor " << endl << endl;
               min = 0;
               sec = 0 ;
               hour = 0;
         }
         time(int m, int s, int h)
         {
                  min= m;
                  sec = s;
                  hour = h;
         }
         void display()
         {
              cout << min << ":" << sec <<":" << hour ;
         }
         void add(time t1, time t2)
         {
              int sece = t1.sec+t2.sec;
              int mint = t1.min + t2.min;
              int hours = t1.hour + t2.hour;

              time t4(sece , mint, hours);

         }
 };

 int main(void)
 {
  time t1(23, 45,11);
  time t2(11,59,59);
  time t3;
  t3.add(t1,t2);
  t3.display();
  getch();
 }

```

secondly, what does this code line means?

```
time(int h,int m,int s):hrs(h),mins(m),secs(s){}

```

could it be replaced by this:
 time(int m, int s, int h)
 {
 min= m;
 sec = s;
 hour = h;
 }

Answer: 
show the exact error.

```
time(int h,int m,int s):hrs(h),mins(m),secs(s){}

```

That's an **initializer list**.

```
// could it be replaced by this:
time(int m, int s, int h) { min= m; sec = s; hour = h; } 

```

No, because you changed the argument order. 

But `time(int h,int m,int s):hrs(h),mins(m),secs(s){}` is similar to 

```
time(int h, int m, int s) { hour = h; min = m; secs = s; }

```
As for your second question -

```
time(int h,int m,int s):hrs(h),mins(m),secs(s){}

```

This line uses **MIL** - [Member initialization list](https://stackoverflow.com/questions/7665021/c-member-initialization-list), as for use/not use - [Why should I prefer to use member initialization list?](https://stackoverflow.com/questions/926752/why-should-i-prefer-to-use-member-initialization-list)

With some small modifications, you can start using this.

please provide the compilation error for the first question, without seeing the error, i can see one main reason why build might fail. the language already defines a type named `time`, so you may want to change the name.