鱼C论坛

 找回密码
 立即注册
查看: 2176|回复: 3

[已解决]实例化一个对象时为什么没有调用默认构造函数

[复制链接]
发表于 2018-4-22 11:58:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class moblie {
private:
        int speed;
        int cost;
public:
        moblie() :speed(80), cost(100)
        {
                cout << "speed:" << speed << "cost:" << cost << endl;
        }
        ~moblie(){}
};
int main()
{
        moblie mycar();
        system("pause");
    return 0;
}
其中的一段代码,程序运行后并没有调用默认构造函数,这是为什么?
最佳答案
2018-4-22 12:21:06
本帖最后由 溯影 于 2018-4-22 12:30 编辑

楼主的意思是不是这样的:
#include <iostream>
using namespace std;

class moblie {
private:
        int speed;
        int cost;
public:
        moblie(int s = 80, int c = 100){
                speed = s;
                cost = c;
                cout << "speed=" << speed << "cost=" << cost << endl;
        }

        ~moblie(){}
};
int main()
{
        moblie mycar;
        cout << "执行完毕" << endl;
        system("pause");
        return 0;
}


要是直接是moblie mycar();的话,编译器会认为是一个函数的声明,估计这个楼主也是理解了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-4-22 12:11:06 | 显示全部楼层
moblie mycar
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-22 12:16:30 | 显示全部楼层

这个就对了,之前楼主写的那个方式就是相当于是
moblie(){
speed = 80;
cose = 100;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-22 12:21:06 | 显示全部楼层    本楼为最佳答案   
本帖最后由 溯影 于 2018-4-22 12:30 编辑

楼主的意思是不是这样的:
#include <iostream>
using namespace std;

class moblie {
private:
        int speed;
        int cost;
public:
        moblie(int s = 80, int c = 100){
                speed = s;
                cost = c;
                cout << "speed=" << speed << "cost=" << cost << endl;
        }

        ~moblie(){}
};
int main()
{
        moblie mycar;
        cout << "执行完毕" << endl;
        system("pause");
        return 0;
}


要是直接是moblie mycar();的话,编译器会认为是一个函数的声明,估计这个楼主也是理解了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-29 18:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表