汽车类(第一次上课)
Car Class (first time with classes)
对于一项作业,我需要使用一个名为 car 的类并让它显示品牌和型号,并且在使用加速时速度增加 5,在刹车时降低 5。我的老师一路帮助我,但当我走到尽头时,我无法让它运行。有人可以纠正我并告诉我为什么是错误的吗?
小鬼---------
#include <iostream>
#include <string>
using namespace std;
void accelerate()
{
int speed;
speed = speed + 5;
}
void brake()
{
int speed;
speed = speed - 5;
}
页眉
#include <iostream>
#include <string>
using namespace std;
class car
{
public:
car(int getYear, string getMake);
void accelerate();
void brake();
private:
int year;
string make;
int speed;
};
汽车类.cpp
#include <string>
#include "CarClass.h"
using namespace std;
int main()
{
car.(2013,"Kia")
car.accelerate()
car.brake()
}
这段代码有两个错误
void accelerate()
{ int speed;
speed = speed + 5;
}
它应该是
void car::accelerate()
{
speed = speed + 5;
}
刹车也有同样的问题。您可以使用 car::
表示法来指示这些函数是类 car
的方法。
您错过了用于创建car
对象的构造函数定义。
car::car(int getYear, string getMake)
{
year = getYear;
make = getMake;
speed = 0;
}
这应该与car::加速和car::brake放在同一个文件中。
这段代码大错特错
car.(2013,"Kia")
car.accelerate()
car.brake()
我想你的意思是这个
car mycar(2013,"Kia");
mycar.accelerate();
mycar.brake();
现在代码将构建并运行,但它仍然不会做任何事情。我不确定你期望它做什么,所以我真的帮不上忙。
如果你的老师不能帮助你,那么也许你应该读一本关于C++的书。编程是非常无情的,如果你没有完全正确,那通常是完全错误的。你不能在这方面虚张声势,你必须从某个地方获得一些扎实的知识。
这是因为您的 accelerate() 和 brake() 函数在函数作用域中定义了速度变量。您可以将代码更改为以下内容:
void car::accelerate()
{
speed += 5;
}
void car::brake()
{
speed -= 5;
}
为了使用该类,您需要像这样声明它:
Car car = new Car(2013,"Kia");
还要确保在函数原型和函数调用的末尾有分号 ";",以便它能够编译。
相关文章:
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 我必须构建我的项目 2 次,第一次失败,因为它无法打开库
- 是什么导致我的循环在第一次迭代中运行得更慢
- QLibrary 函数在第一次调用时工作缓慢
- 第一次尝试使用new动态创建结构数组,程序挂起没有错误
- 为什么第一次迭代后的指针指向随机值?
- 如何防止GUI挂起,同时允许第二次操作与Qt中的第一次操作一起执行
- LAPACK函数在第一次迭代后变慢
- 为什么 Boost unordered_map 在第一次插入时需要太多时间?
- 将第一个派生类转换为第二个派生类 - 为什么有效?
- EGL 在第一次 opengl 函数调用时崩溃
- 提升 Asio SSL 无法第二次接收数据(第一次确定)
- 数组仅在第一次返回错误值
- 我一直收到一个错误,这是我第一次使用类,下面是我的代码:
- 从两个不同的线程同时第一次访问singleton类
- 第一次尝试创建一个包含许多类的DLL,捆绑在一个DLL中
- 汽车类(第一次上课)
- C++ 笛卡尔乘积迭代器在第一次迭代时调用基类函数
- 第一次制作了一个跨越几个类的程序,但我在函数调用方面遇到了问题
- 是在第一次调用静态成员函数之前初始化的静态类变量