gpt4 book ai didi

c++ - 什么是正确的封装语法?

转载 作者:行者123 更新时间:2023-11-30 05:17:05 25 4
gpt4 key购买 nike

我有出版和图书馆两个类(class)和出版类(class)。如何操作(作为封装)流派、媒体和 target_age,如果我希望它们是单独的类。这不是另一个类(class)中的类(class)。该类型有更多类型(小说、非小说、自助、表演)以及媒体和年龄。我已经完成了我的研究,我正在寻找它的正确语法。

class Publication {    
private:
string title;
string authore;
string copyright;
Genre genre;
Media media;
Age target_age;
string isbn;
bool checked_out;
string patron_name;
string patron_phone;

public:
void check_out(string patron_name, string patron_phone ){}
void check_in(){}
bool is_checked_out(){}
string to_string(){}
};

最佳答案

最好的封装方式是将所有内容都保密。为可能从外部读取的内容创建常量 getter,并在构造函数中初始化所有内容。毕竟,诸如作者/标题/等之类的东西。不应该为一本真正的书的实例而改变吗?看看下面的片段:

class Publication {    
private:
string _title;
string _author;
Genre _genre;

public:
void check_out(string patron_name, string patron_phone );
void check_in();
bool is_checked_out() const;

string to_string() const;
string get_title() const { return _title; }
string get_author() const { return _author; }
const Genre& get_genre() const { return _genre; }


Publication(string author, string title, Genre genre) : _author(auth), _title(title), _genre(genre)
{ }
};

关于c++ - 什么是正确的封装语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42289367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com