首页 music 关于 推荐 Codeforcce BiLiBiLi GitHub Search 1 《美丽数学》读书笔记 70 阅读 2 2023年10月11日创世之初 50 阅读 3 C语言基础 44 阅读 4 冒泡排序 39 阅读 5 排序算法 30 阅读 大事件 读书记录 C语言 SQL C++ 函数 算法 Python 数据结构 教程 登录 Search 标签搜索 C语言 SQL 函数 mellowsky 累计撰写 27 篇文章 累计收到 1 条评论 首页 栏目 大事件 读书记录 C语言 SQL C++ 函数 算法 Python 数据结构 教程 页面 music 关于 推荐 Codeforcce BiLiBiLi GitHub 搜索到 2 篇与 的结果 2024-04-16 类的构造函数与析构函数 构造函数 构造函数的定义 class 类名{ public: 类名();//构造函数 }构造函数无返回类型也不需要写void构造函数会自动调用,无定义时为空实现。因此需要我们定义构造函数进行数据的初始化构造函数可以有参数也可以无参数,因此根据参数的类型构造函数可发生重载,且构造函数只能被调用一次。构造函数可按有无参数分为有参构造函数和无参构造函数 构造函数按类型可分为普通构造函数和拷贝构造函数构造函数参数类型一无参构造函数普通构造函数二有参构造函数拷贝构造函数注意 不要用拷贝构造函数进行初始化匿名对象 编译器会认为book(b2);等于book b2;会造成重定义以下为调用构造函数的实例:#include<iostream> using namespace std; class book { public: book() { cout << "类的无参构造函数" << endl; } book(int a) { b = a; cout << "类的有参构造函数" << b << endl; } book(const book& b) { cout << "类的拷贝构造函数" << b.b << endl; } int b; }; void test() { //调用有三种方法调用 //括号法 book b1; book b2(10); book b3(b2); //显示法 book b4; book b5 = book(10); book b6 = book(b5); //隐式转换法 book b7 = 10; book b8 = b7; } int main() { test(); return 0; }注意括号法的第一个: book b1; 不要在b1后面加(),如果加了会造成二义性,编译器无法识别构造函数的实例中的显示法的book(10)为匿名对象析构函数 析构函数的定义 class 类名{ public: ~类名();//析构函数 }析构函数与构造函数的区别相同 都会自动调用 不同在类名前加"~"析构函数无返回值且无参数,因此不可发生重载析构函数发生在对象的销毁时析构函数主要用于数据的销毁工作以下为调用析构函数的实例:#include<iostream> using namespace std; class person { public: ~person() { cout << "类的析构函数" << endl; } }; void test() { person p1; } int main() { test(); person p2; system("pause"); return 0; }注意:当运行到system("pause");时暂停,p2仍在main函数中,main函数为结束,因此p2为进行销毁,所以p2还未调用析构函数,当按任意键继续时main函数结束,p2内存回收,因此才会调用析构函数打印出信息。 2024年04月16日 11 阅读 0 评论 0 点赞 2024-04-13 各种函数的用法 sort函数 algorithm头文件中的sort函数运用作用: 对范围内元素进行排序语法: 需要声明algorithm头文件sort( first ,last ,comp );其中first与last为起始与终末位置first与last为地址并非值。comp是接收两个元素并返回bool类型的函数,注意并非函数调用,因此在函数名后面无需添加()comp函数不改变值,可以是函数指针或函数对象comp可以省略,当省略时将使用默认排序,默认排序为从小到大排序。 实例:#include<iostream> #include<algorithm> using namespace std; bool comp(int x, int y) { return x > y;//从大到小排序 } int main() { int arr[5] = { 52,23,71,17,89 }; sort(arr, arr+5,comp); for (int i = 0; i < 5; i++) { cout << arr[i]<<" "; } cout<<endl; return 0; }getline函数 作用: 对字符串进行输入 特点: 与cin不同可以读入cin不能读入的空格。 此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。 语法: getline(cin, inputLine); inputline是接收输入的字符串string变量的名字。 实例:#include<iostream> #include<string> using namespace std; int main() { string str; getline(cin, str); cout << str << endl; return 0; } 2024年04月13日 12 阅读 0 评论 0 点赞