新手求解:c++中的构造函数问题求解

问题描述

新手求解:c++中的构造函数问题求解

#include
using namespace std;
class Clock
{
public:
Clock()
/* {

}就是这个大括号,不加就会出错*/

void display();
void update();
void init();

private:

int hour,minute,second;

};
void Clock::init()
{
hour=minute=second=0;
}
void Clock::display()
{
cout<<hour<<"-"<<minute<<"-"<<second<<endl;
}
void Clock::update()
{
second++;
if(second==60)
{minute++;second=0;}
if(minute==60)
{hour++;minute=0;}
if(hour==24)
{hour=0;}
}
void main()
{
Clock c;
c.init();
c.update();
c.display();
system("pause");

}
public中的构造函数为什么编译出错,"public: __thiscall Clock::Clock(void)" (??0Clock@@QAE@XZ),该符号在函数 _main 中被引用。在构造函数后面加空的{}就可以通过?

解决方案

这个 { }是主方法体,没有肯定报错,好几年没看过C++了,希望能解答你的疑问

解决方案二:

首先main的返回值为int
Clock这样写试试。

 class Clock
{
public:
    Clock();

    void display();
    void update();
    void init();

private:

    int hour,minute,second;

};

解决方案三:

因为你下面并没有定义这个构造函数,下面如果加
void Clock::Clock()
{
...;
}
就可以了

解决方案四:

应该是加上
Clock::Clock()
{
...;
}
构造函数不带返回类型

解决方案五:

在类定义中声明了构造函数,就需要去实现啊;除非你不去生命,采取缺省的构造函数。

解决方案六:

Clock() -- 这句末尾忘加 ; 而已

解决方案七:

对于构造函数,写完了要注意加;
比如上面那个Clock();//一般为Clock(形参类表);
还有写出来了构造函数就不存在默认构造函数,楼主只是“;”那是函数的声明,既然是自定义构造函数就要自己实现构造函数。
想楼主那样直接加{}是不需要分号的,那样是直接进行函数的实现,具体实现可以写在括号内。
新手报到,请多指教。

解决方案八:

要么声明函数,,要么定义函数。。。也就是要么分号。。要么大括号

或者使用该函数时,包含time.h文件

解决方案九:

书上的知识大部分都是人写的然后打印出来出书,或者是编辑部代写你挂个名字。书上看理论就好,实操还得自己摸索。

解决方案十:

关于构造函数这块,多看看定义

时间: 2024-10-28 06:33:54

新手求解:c++中的构造函数问题求解的相关文章

数据-新手求解asp.net:asp.net中如何根据自己的需要动态的生成表格并能输入保存

问题描述 新手求解asp.net:asp.net中如何根据自己的需要动态的生成表格并能输入保存 新手求解asp.net:asp.net中如何根据自己的需要输入行列数动态的生成表格行和列,并且在网页中生成的表格能够对数据的输入并保存到后台数据库中,如果表格不能实现输入的话用文本框形式又如何解决?如何动态生成文本框并保存到数据库表格中,急啊,谢谢大神指点,好人一生平安0.0! 解决方案 asp.net 动态表格生成1.ASP.NET动态生成HTML页面Asp.net利用Jquery动态添加表格的行数

新手求解 怎么在mysql中创建多级表结构

问题描述 新手求解 怎么在mysql中创建多级表结构 比如说我要创建一个如下的表结构,该用什么语句,, 类似这种多层结构 解决方案 MySQL创建表结构里面的那个长度对于整型的作用 解决方案二: 多级表结构?使用外键吧! 解决方案三: 数据库里变是没有多级表结构的,你想要实现多级结构,需要通过多表关联.外键关联等操作来实现. 或者在同一个表中,通过字段id和parentId等关系进行区分.

java继承-JAVA抽象类(新手求解)

问题描述 JAVA抽象类(新手求解) 子类继承了一个抽象类,抽象类中没有无参构造函数,有有参构造.请问子类能实例化么?如果能,怎么做? 解决方案 子类构造方法中使用super()传参,指定一个父类的构造器 假如父类构造器是private修饰的那就没办法继承了. 解决方案二: 能,可以直接使用无参,也可以使用父类的有参构造 解决方案三: 首先,你应该先了解继承的原理,继承的强大在于子类可以继承来自父类的一切可继承的特征和行为,更重要的是子类不仅仅可以继承来自父类的特征和行为,而且还具备自我扩展的能

string-java代码问题,新手求解。

问题描述 java代码问题,新手求解. class A { int i; A() { add(1);}void add(int v) { i = i + v;}void print() { System.out.println(i);} } class AA extends A { AA() { add(2); } void add(int v) { i = i + v * 2;} } public class Test2 { public static void main(String[] a

代码-Java数值计算问题,新手求解。

问题描述 Java数值计算问题,新手求解. package chapter5; import java.math.BigDecimal; class Rectangle { private double length; private double width; public Rectangle(double length, double width) { this.length = length; this.width = width; } double findArea() { return

java-Java数值计算问题,新手求解

问题描述 Java数值计算问题,新手求解 //死率=(死亡出院人次/出院人次)* 100%//死亡率增长率=(本期死亡率-上期死亡率)/上期死亡率 * 100% 这用java怎么实现啊,已知死亡出院人次,出院人次求代码 解决方案 最完整的应该是这样 //上期死率(百分数) double preDeadPer = 10/(double)100*100; //这期死率(百分数) double curDeadPer = 20/(double)100*100; //这期和上期一样则一定是0;上期为0则这

图片-java面板设置问题,新手求解

问题描述 java面板设置问题,新手求解 如何设置点击这个按钮能呈现出图中的效果? 解决方案 Java新手问题汇总 解决方案二: 可以用java swing的消息弹出框. JOptionPane.showMessageDialog(null, "文字", "标题", JOptionPane.INFORMATION_MESSAGE); 解决方案三: 用变量记住你的几个值,比如姓名,然后为按钮添加点击事件(就是弹出那个对话框)把那个对话框里的值设置为你取到的变量的值.

java-Java猜数字问题,新手求解

问题描述 Java猜数字问题,新手求解 package homework; import javax.swing.*; import javax.swing.border.Border; import java.awt.*; import java.awt.event.*; public class GameTest { public static void main(String[] args) { // TODO 自动生成的方法存根 GameFrame gf = new GameFrame(

c++中拷贝构造函数的参数类型必须是引用

如果拷贝构造函数中的参数不是一个引用,即形如CClass(const CClass c_class),那么就相当于采用了传值的方式(pass-by-value),而传值的方式会调用该类的拷贝构造函数,从而造成无穷递归地调用拷贝构 造函数.因此拷贝构造函数的参数必须是一个引用   在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识. 但是如果我问你"拷贝构造函数的参数为什么必须使用引用类型?"这个问题, 你会怎么回答? 或许你会回答为了