9.11-QT-QT的基本使用
实现一个简单的登陆界面:
实现Mystring:
#include <iostream>
#include <cstring>
using namespace std;class MyString {
private:char str[128];
public:MyString() {cout << "请输入字符串内容" << endl;cin >> str;}MyString(const char str[]) {strcpy(this->str, str);}MyString(const MyString &p) {strcpy(this->str, p.str);}void Long() {cout << strlen(str) << endl;}string Add(const MyString &p) {char temp[256] = {0};strcpy(temp, str);strcat(temp, p.str);cout << temp << endl;return temp;}bool Compare(const MyString &p) {if (strcmp(str, p.str) == 0) {cout << "true" << endl;return true;} else {cout << "false" << endl;return false;}}void show() {cout << "str = " << str << endl;}
};int main() {MyString s1;MyString s2("world");MyString s3 = s2;s3.show();s1.Long();s1.Add(s2);s1.Compare(s2);return 0;
}
实现图书管理:
#include <iostream>
#include <vector>
#include <string>
using namespace std;class Book
{
private:string name;string author;int num;static vector<string> books;
public:Book() {}Book(string n, string author, int num) : name(n), author(author), num(num){books.push_back(n);}void LendBooks(int num){if (this->num < num){cout << "库存不足" << endl;}else{this->num -= num; // 借出后库存减少}}void GiveBack(int num){this->num += num;}void seek(const Book &p){bool found = false;for (const auto &book : books){if (book == p.name){cout << "书名: " << name << " 作者: " << author << " 数量:" << num << endl;found = true;break; // 找到后退出循环}}if (!found){cout << "未找到该书" << endl;}}void show(){cout << "书名: " << name << " 作者: " << author << " 数量:" << num << endl;}
};
vector<string> Book::books; // 静态成员初始化int main()
{Book b1("斗罗大陆", "唐家三少", 20);Book b2("斗破苍穹", "天蚕土豆", 40);b1.LendBooks(2);b1.show();b2.GiveBack(20);b2.show();b1.seek(b2);return 0;
}