c++类的命名首字母大小写是否对后续创建对象有影响?

在一次偶然的编程中发现,类名的首字母大小写对创建对象会产生影响;百思不得其解,故提问?望大家一起探讨出答案。

小写时候提示需要输入分号。

大写时候则能运行通过。

大写首字母代码附上:

#include<iostream>
using namespace std;
class Clock
{
private:
    int hour, minute, second;
public:
    void init();
    void update();
    void display();
    
};
void Clock::init()
{
    hour = minute = second = 0;
}

void Clock::update()
{
    second++;
    if (second == 60) {
        second = 0; minute++;
    }
    if (minute == 60) {
        minute = 0; hour++;
    }
    if (hour == 24)
        hour = 0;
}

void Clock::display()
{
    cout << hour << ':' << minute << ':' << second << endl;
}
int main()
{
    Clock clock_A; 
    cout << "CLOCK_A:" << endl;
    clock_A.init();
    for (int i = 0; i < 100; i++)
    {
        clock_A.update();
        clock_A.display();
    }
    system("pause");
    return 0;
}

 

C/C++是大小写敏感的,也就是说,Clock和clock本来就是两个东西。你的类叫Clock,不叫clock,所以你写clock,鬼也不知道是什么东西,不报错才怪啊

不是必须的,它是用户自定义的一个标识符,但是一般来说还是用大写

但是你程序中定义的类Clock首字母大写了,上下文要保持一致,所以创建对象时要大写,如果是clock类,创建对象时要小写

#include<iostream>
using namespace std;
class clock
{
private:
    int hour, minute, second;
public:
    void init();
    void update();
    void display();

};
void clock::init()
{
    hour = minute = second = 0;
}

void clock::update()
{
    second++;
    if (second == 60) {
        second = 0; minute++;
    }
    if (minute == 60) {
        minute = 0; hour++;
    }
    if (hour == 24)
        hour = 0;
}

void clock::display()
{
    cout << hour << ':' << minute << ':' << second << endl;
}
int main()
{
    clock clock_A;
    cout << "CLOCK_A:" << endl;
    clock_A.init();
    for (int i = 0; i < 100; i++)
    {
        clock_A.update();
        clock_A.display();
    }

    return 0;
}

定义类的时候类名为大写,那么在下面的代码中,该类名就要大写。反之亦然。但是,建议大写

因为类名clock与函数clock冲突了。所以声明只能class clock A;