在文件f.h中有以下结构:
struct Store{
Store();
~Store();
};
在这个结构中,还有一行代表public:
。在文件f.cpp中,使用函数Store():
Store::Store(){
};
很抱歉这一切都很模糊,我想知道的是Store()
和~Store()
部分的作用,public:
部分在结构中的意义,以及f.cpp中的部分实际上是什么,因为我自己无法解决问题(我最近开始学习CPP)
答案 0 :(得分:2)
我想知道的是
Store()
和~Store()
部分的作用</ p>
他们分别声明结构的构造函数和析构函数。
公众的意义:部分在结构
中
将它们声明为可公开访问,以便外部代码可以调用它们。
以及f.cpp中的部分实际上是什么
实现构造函数的主体代码。 .h文件中的代码只是声明。
答案 1 :(得分:0)
在创建Store结构的实例时调用Store()函数,它被称为构造函数。 ~Store()是相反的,它在您的实例被销毁时调用,例如,在调用delete时调用。 对于此结构,您可以设置函数,并且这些函数具有访问修饰符。公共意味着每个人都可以访问此功能(您可以在代码中的任何位置调用它)。 cpp文件中的Store :: Store(){}是函数的定义,当你初始化类时将运行什么代码。您可以设置变量,运行其他功能等。 标题只是声明struct具有哪些函数,cpp定义这些函数的作用。
答案 2 :(得分:0)
首先,建议您使用c ++中的类,除非它是C风格的结构:
// C++ Class
class Store {
public:
Store();
~Store();
};
// C-Style Struct
struct Store {
char *store_name;
}
我希望这能说明两者之间的区别,现在问题是:
Store :: Store()是类的构造函数,用于初始化类中的数据。
Store :: ~Store()是类的析构函数,用于释放已分配的内存等。
关键字public表示这些项目可在课堂外使用。 默认情况下,所有struct成员都是公共的。
关键字protected表示这些项目不能在课外使用,但可以继承。
关键字private表示只能从类本身访问这些项目。 默认情况下,使用类定义的C ++类中的成员是私有的。