Files
2026-04-03 11:32:07 +08:00

50 lines
1.3 KiB
C++

#ifndef _QX_BLOG_AUTHOR_H_
#define _QX_BLOG_AUTHOR_H_
class blog;
class QX_BLOG_DLL_EXPORT author
{
public:
// -- typedef
typedef std::shared_ptr<blog> blog_ptr;
typedef std::vector<blog_ptr> list_blog;
typedef std::vector<blog_ptr> type_list_of_blog;
// -- enum
enum enum_sex { male, female, unknown };
// -- properties
QString m_id;
QString m_name;
QDate m_birthdate;
enum_sex m_sex;
list_blog m_blogX;
// -- contructor, virtual destructor
author() : m_id("0"), m_sex(unknown) { ; }
virtual ~author() { ; }
// -- methods
int age() const;
QString getauthor_id() const;
QString getname() const;
QDate getbirthdate() const;
enum_sex getsex() const;
type_list_of_blog getlist_of_blog() const;
type_list_of_blog & list_of_blog();
const type_list_of_blog & list_of_blog() const;
void setauthor_id(const QString & val);
void setname(const QString & val);
void setbirthdate(const QDate & val);
void setsex(const enum_sex & val);
void setlist_of_blog(const type_list_of_blog & val);
};
QX_REGISTER_PRIMARY_KEY(author, QString)
QX_REGISTER_HPP_QX_BLOG(author, qx::trait::no_base_class_defined, 0)
typedef std::shared_ptr<author> author_ptr;
typedef qx::QxCollection<QString, author_ptr> list_author;
#endif // _QX_BLOG_AUTHOR_H_