C++的类中有两个构造函数的时候在main怎么调用啊?

如题所述

给你个例子
#include <stdio.h>
#include <iostream>

using namespace std;

class time{
private:
int hour;int minute;int sec;
public:
time()
{
hour=0;minute=0;sec=0;
}

time( int h,int m,int s )
{
hour=h;minute=m;sec=s;
}

void list_time( void ) ;
} ;

int main(void )
{
class time t1(12,3,10); //引用第二种构造函数
class time t2; //引用第一种构造函数
t1.list_time() ;
t2.list_time() ;
return 0;
}

void time::list_time( void )
{
printf("time is :%d:%d:%d\n" , hour , minute , sec );
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-10
看构造函数里面的参数 如stop(){ ..... } 和 stop(string name ) {... }

在MAIN()理你调用的时候就先实例话一个类 如 A类 然后调用就A.stop()或者A.stop("nihao")
第2个回答  2011-09-10
一般由系统自动判断用哪个构造函数,
比如 int func(int a); 和 int func(float fa);
如果你用的参数类型是float ,然后调用func那么就是系统会自动选择调用int func(float fa);
第3个回答  2011-09-10
这个是重载的问题,由编译器根据参数的个数和类型进行自动选择调用追问

他怎么选呢?

追答

当你调用函数的时候,编译器会根据你调用函数的格式,进行匹配,找到匹配的函数定义,则执行函数调用,找不到的话就出错了

追问

他怎么选呢?

相似回答