![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
makesifriend
聚沙成塔,积少成多
展开
-
为对象动态分配内存
如果类中的数据成员含有指针变量,就需要为指针变量分配动态内存。(通常在编程中,应该尽量避免使用指针,应该用容器替代指针)在本例中,使用二重指针,可以视为一个二维数组,不过该数组的元素个数可变。如下为为指针分配空间的构造函数;//构造函数,创建一个可以指定长度和高度的二维数组SpreadSheet::SpreadSheet(int height, int length){ mCe...原创 2018-12-04 11:18:43 · 1777 阅读 · 0 评论 -
对虚函数的认识
可以在继承类中重写父类的方法,关键字是virtual。如下代码所示,父类是Super,继承类是Sub,在Sub中,重写了Super的go()方法。#include <iostream>using namespace std;class Super{ public : virtual void go() { cout << "go() ca...原创 2018-11-25 15:26:45 · 178 阅读 · 0 评论 -
按空格和按换行从文件中提取数据
1,读取文件的类为ifstream,其中“i”代表“in”,针对变量而言,ifstream所在的头文件为fstream;2,ifstream中有open方法,可以打开文件;3,ifstream中有>>方法,可以以空格为分割符,以换行为结束符读取数据;4,iostream中有getline(ifst, strline)方法,可以读取每一行的字符串数据。 以空格为分割符...原创 2018-12-05 16:18:46 · 2581 阅读 · 0 评论 -
C++的异常检测方法(以文件读取为例)
关于C++的异常检测的关键字主要有3个,分别是throw,try,catch。它们的作用如下:throw用于抛出错误,throw invalid_argument("can't open file");try用于尝试执行含有抛出错误的代码;catch用于捕获对应类型的错误对象,catch (invalid_argument& e),由于包含在<stdexcept>中...原创 2018-12-06 10:00:41 · 6141 阅读 · 0 评论 -
对象的复制和赋值
对象的复制是在对象声明时进行的操作,而赋值是在声明之后的操作。一般而言,复制的语法为A a(b),A为类,b为已经定义的对象,a为复制b的对象;赋值的语法为A a;a = b;需要先声明对象a,之后再对其进行赋值。有一种特殊的情况,A a=b;虽然是使用了操作符=,但由于是在对象声明时,进行定义,所以依然调用复制方法。下面代码为对象的复制和赋值操作。#include <iost...原创 2018-12-03 19:40:34 · 1095 阅读 · 0 评论