目前是C ++的新手,将其作为编程课程的一部分进行学习。
据我所知,C ++中的结构和类之间的区别在于,默认情况下,类成员是私有的,而struct成员是公共的。
我想亲自尝试一下,并在CodeBlocks中编写了一个小程序:
Main.cpp的
#include <iostream>
#include "TestStruct.h"
using namespace std;
int main()
{
TestStruct ts();
ts.print();
return 0;
}
StructTest.h
#ifndef TESTSTRUCT_H
#define TESTSTRUCT_H
#include <iostream>
struct TestStruct
{
TestStruct(){}
virtual ~TestStruct(){}
void print();
};
#endif // TESTSTRUCT_H
实施文件:
#include "TestStruct.h"
TestStruct::TestStruct()
{
//ctor
}
TestStruct::~TestStruct()
{
//dtor
}
void TestStruct::print()
{
std::cout << "Testing" << std::endl;
}
但是,我收到编译时错误:
error - request for member 'print' in 'ts', which is of non-class type 'TestStruct()'
我错过了一些完全明显的东西吗?我认为可以使用与类完全相同的结构。