我正在尝试学习如何使用常量函数和对象,但是,我有一些错误让我坚持了一个多小时,我似乎无法弄清楚。我正在遵循一个简单的例子,我想我在途中迷路了。这是我的代码。
主文件
#include <iostream>
#include "ExampleClass.h"
int main(){
ExampleClass exampleObj; // object used to call members of ExampleClass.
exampleObj.printText(); // calls printVar from the ExampleClass.
const ExampleClass constantObject; // object used to call constant members of ExampleClass.
constantObject.printConstText(); // calls printConstVar from the ExampleClass.
return 0;
}
ExampleClass.h
#ifndef EXAMPLECLASS_H
#define EXAMPLECLASS_H
class ExampleClass
{
public:
void printText();
void printConstText() const;
};
#endif // EXAMPLECLASS_H
示例类.cpp
#include <iostream>
#include "ExampleClass.h"
void ExampleClass::printText(){
std::cout << "The code works!" << "\n";
}
void ExampleClass::printConstText() const{
std::cout << "The code works!" << "\n";
}
我得到了错误:
C:\Documents and Settings\Me\My Documents\ConstObjects\main.cpp||In function 'int main()':|
C:\Documents and Settings\Me\My Documents\ConstObjects\main.cpp|8|error: uninitialized const 'constantObject'|
||=== Build finished: 1 errors, 0 warnings ===|
如果我在 ExampleClass 之前取出 const,则代码可以正常执行。但它仍然是一个常量对象吗?感谢您的帮助,我希望我提供了足够的信息。如果这很重要,我正在使用代码块。