在display(){...}后面那个分号估计是随手敲上去的,反正也不错。一般情况下是不加的。
第二个分号是用来表示类定义结束。其实在一些语法类似C的语言里面,如java是可以不加的。但为什么C++就必须加呢,这追溯到C语言的关于结构定义的规定。
因为在C语言里面常常这样写:
struct S
{
} aFunction(){}
用来定义一个返回类型为结构S的函数。而且在C语言里面函数返回值为整型时,可以不写返回值。
aFunction(){}
表示定义返回整型的函数。
如果允许结构定义不加分号,这种写法就会产生歧义。可以解释为定义一个返回结构的函数,或者是定义一个结构和一个函数。这样就只能要求结构定义要加分号了。
C++为了和C语言兼容,所以沿用了这个规定。
void display()
{
cout<<"num="<
这段是不需要加分号的。
类的定义要以分号结束,这是 C++ 的语法。
类也是一个变量,就像你定义普通的变量一样,int a;这不过这里换成了类。是为了保证语法的严谨。
个人认为啊。
简单的说,就是规定。类在定义和声明时,结尾必须加分号是C++的强制规定,如果丢失就会编译报错。
在C++中,除函数,及预编译指令外,其它的语句或代码段结尾都必须要加分号。
其中预编译指令是指,以#开头的语句。常见的有,#include ,#define, #ifdef, #if, #elif, #else,#endif等。
这是C语言的一个规定,每一行代码打完就要加个分号以告诉编译器这行代码的结束,如果不加分号,编译器会把后面的代码内容连之前的内容一起算同一行代码,从而导致报错,举个例子:
#include
Void main ()
{
int a,b;
a=1,b=2;
printf("hello");
printf(a,b);
}
如果这段代码中行末没有分号,编译器会将没有分号的部分一同视为一行来执行,从而导致报错。同理,如果main函数前面没写void,代码写完还要写一句return 0; 不然也会报错。纯手打望采纳,谢谢
就如同一个函数一样
函数花括号后面为什么不加分号?因为它是一个定义.函数如果在前面声明的话,就需要加分号.
类是一样的道理,在花括号外面加分号,说明它是一个声明,而不是定义.(比如你看类里面的数据成员,只能声明,能够定义吗?)
顺便提一下,你的display函数后面加分号是错误的.