Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <cstdio>
- #include <cstring>
- using namespace std;
- class Author {
- char * name;
- char * surname;
- public:
- Author() {
- name = new char[0];
- surname = new char[0];
- }
- Author(char * name, char * surname) {
- this->name = new char[strlen(name) + 1];
- strcpy(this->name, name);
- this->surname = new char[strlen(surname) + 1];
- strcpy(this->surname, surname);
- }
- Author(const Author & second) {
- this->name = new char[strlen(second.name) + 1];
- strcpy(this->name, second.name);
- this->surname = new char[strlen(second.surname) + 1];
- strcpy(this->surname, second.surname);
- }
- ~Author() {
- delete[] name;
- delete[] surname;
- }
- char * get_name() {
- return name;
- }
- char * get_surname() {
- return surname;
- }
- Author & set_name(char * name) {
- delete[] this->name;
- this->name = new char[strlen(name) + 1];
- strcpy(this->name, name);
- return *this;
- }
- Author & set_surname(char * surname) {
- delete[] this->surname;
- this->surname = new char[strlen(surname) + 1];
- strcpy(this->surname, surname);
- return *this;
- }
- void info() {
- cout << "Name = " << name << " Surname = " << surname << "\n";
- }
- void info_detail() {
- cout << "Class name = Author" << " Name = " << name << "\n";
- }
- Author & operator = (const Author & second) {
- delete[] this->name;
- this->name = new char[strlen(second.name) + 1];
- strcpy(this->name, second.name);
- delete[] this->surname;
- this->surname = new char[strlen(second.surname) + 1];
- strcpy(this->surname, second.surname);
- }
- };
- class Book {
- char * name;
- char * code_udk;
- int year;
- int cnt_page;
- Author author;
- public:
- Book() {
- name = new char[0];
- code_udk = new char[0];
- year = 0;
- cnt_page = 0;
- }
- Book(char * name, char * code_udk, int year, int cnt_page, Author author) {
- this->name = new char[strlen(name) + 1];
- strcpy(this->name, name);
- this->code_udk = new char[strlen(code_udk) + 1];
- strcpy(this->code_udk, code_udk);
- this->year = year;
- this->cnt_page = cnt_page;
- this->author = author;
- }
- Book(const Book & second) {
- this->name = new char[strlen(second.name) + 1];
- strcpy(this->name, name);
- this->code_udk = new char[strlen(second.code_udk) + 1];
- strcpy(this->code_udk, code_udk);
- this->year = second.year;
- this->cnt_page = second.cnt_page;
- this->author = author;
- }
- char * get_name() {
- return name;
- }
- char * get_code_udk() {
- return code_udk;
- }
- int get_year() {
- return year;
- }
- int get_cnt_page() {
- return cnt_page;
- }
- Author get_author() {
- return author;
- }
- Book & set_name(char * name) {
- delete[] this->name;
- this->name = new char[strlen(name) + 1];
- strcpy(this->name, name);
- return *this;
- }
- Book & set_code_udk(char * udk) {
- delete[] this->code_udk;
- this->code_udk = new char[strlen(code_udk) + 1];
- strcpy(this->code_udk, code_udk);
- return *this;
- }
- Book & set_year(int year) {
- this->year = year;
- return *this;
- }
- Book & set_cnt_page(int cnt_page) {
- this->cnt_page = cnt_page;
- return *this;
- }
- Book & set_author(Author author) {
- this->author = author;
- return *this;
- }
- void info() {
- cout << "Name = " << name << " Code_udk = " << code_udk;
- cout << " Year " << year << " Cnt_page = " << cnt_page;
- cout << "\nAuthor: ";
- author.info();
- }
- void info_detail() {
- cout << "Class name = Book Name = " << name << "\n";
- }
- };
- int main() {
- char * author_name = new char[50];
- char * author_surname = new char[50];
- printf("Enter author name and surname:\n");
- cin >> author_name >> author_surname;
- //scanf("%s %s", author_name, author_surname);
- Author author(author_name, author_surname);
- Book first;
- printf("Info first book:\n");
- first.info();
- first.info_detail();
- char * book_name = new char[50], * code_udk = new char[50];
- printf("Enter book name and udk code\n");
- cin >> book_name >> code_udk;
- //scanf("\n%s %s", book_name, code_udk);
- int year, cnt_page;
- printf("Enter year and count page\n");
- scanf("%d %d", &year, &cnt_page);
- Book second(book_name, code_udk, year, cnt_page, author);
- printf("Info second book:\n");
- second.info();
- second.info_detail();
- Book third = second;
- printf("Info first book:\n");
- third.info();
- third.info_detail();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement