C++个人简要笔记

C++小甲鱼个人简要笔记

封装、继承,抽象、多态

cin.ignore&&cin.getline()

cin.peek()&cin.get();

cin.read()&cin.gcount()

cin.write(buf,10);

cout.preicious();

ios::in
ios::out
ios::binary
ios::app
ios::trunk
ios::nocreate

fp.seekg(ios::beg)

cin.ignore(100,‘\n’)

cin.eof();

cin.fail();

cin.bad();

cin.good();

基类必须在子类前初始化

子类构造():基类构造()

class Pig:public Animal{}继承的方法和属性的访问级别不发生任何改变

保护继承:将基类的访问级别改为protected,如果原来是public的话。这个子类的外部代码无法用子类去访问基类的public

private:从基类继承来的每个成员都当成private来看,只有这个子类能使用从基类继承的元素

进行方法覆盖时要在子类里进行进一步的声明

继承之后不能重载父类方法

静态方法、成员:一个只在创建或删除时才允许访问;这个成员属于该类,而不是只属于该类的对象(没有创建对象也可以调用方法)
(静态方法只能访问静态成员)

堆(new)/栈(局部变量、函数参数)/自由存储区(malloc)/常量存储区/静态存储区

this指针:私有成员

静态方法无法访问this指针(全体成员共享)

在类的外部为静态属 性做出声明(分配内存)

不声明变量直接赋值
int*pointer=new int;
*pointer=100;
delete pointer;

一般来说什么指针调用什么方法
Pet*p=new Cat();
Pet *p=new Dog();
p->play();
运行时类型和编译时类型不一样
virtual void play();//基类方法
使用虚方法使调用方法时根据指针在运行时类型调用相应方法(Dog、Cat)
子类方法继承虚方法必须也是虚方法

abstract方法必不可少,但在基类中不实现

abstract方法:virtual void play()=0;

编译时的多态性:方法重载(覆盖必须要有virtual)(运行速度快)
运行时的多态性:虚函数(高度灵活和抽象)

析构器都应是虚方法

int operator+(int a,int b){

return a+b;

}

.
.*
::
sizeof
?:
以上五种运算符不能重载

运算符重载参数个数要看是否在类内重载(类的成员函数)
如果在类外实现,则要指定为友元函数

虚继承
class example:virtual public teach{}

编译时出错、运行时出错

运用climits头文件:SHORT_MAX\SHORT_MIN\USHORT_MAX

#include

catch(int i)
catch()
catch(bool a)

try…catch()…(try块中throw语句后所有内容不会执行)

unsigned long returnfACTORIAL(INT NUM)throw(const char *);
动态内存:
只有地址\没有名字的内存块构成,在程序运行期间动态分配

int *i=new int;

int *x=new int[10];

int count=10;
int *x=new int[count];
delete x[];

注释:
#if 0
#endif

函数指针
int(*p)(); p=func; (*p)()

在对象成员中有指针时,可能会导致一块内存被重复释放:
1.重载赋值运算符
Myclass m1;
Myclass m2;
m2=m1;

2.副本构造器:Myclass(const Myclass &rhs):拷贝构造

Myclass m1;
Myclass m2=m1;

基类指针可以引用派生类对象,而派生类对象不可以引用基类对象

const_cast<MyClass*>();

dynamic_cast<*>(company )

#ifndef LOVE_FISHC
#define LOVE_FISHC
class rational{};

#endif

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值