属于菜鸟的一些笔记

在WINDOS下输入完毕后先按ENTER键,然后再按CTRL+Z键,最后再按ENTER键即可结束输入。 而在LINUX中,输入完毕后直接按CTRL+D键即可结束输入。


局部变量存放在堆栈段中,易于产生栈溢出。


可通过母函数法求斐波拉契数列通项公式【需百度】


c++输入输出流与stdin同步关闭的语句:【std::ios::sync_with_stdio(false);】


visua studio2015 中去除对scanf的错误警告的预指令:#pragma warning( disable : 4996)


c+自带的默认复制函数属于浅复制,当类成员中含有指针时,浅复制会使两个对象的指针指向同一段内存空间,这时两个对象不再独立。并且更严重的是,在调用析构函数的时候会导致这段内存空间被释放两次造成运行错误。

在多文件结构中,由于文件包含指令可以嵌套使用,因此在设计程序中要避免多次重复包含同一个头文件,否则会引起变量以及类的重复定义。若不可避免,则可通过下列方式解决。

//main.cpp
#include"file1.h"
#include"file2.h"
int main()
{
	......
}

//file1.h
#include"head.h"
......

//file2.h
#include"head.h"
......

//head.h
...
class cla {
	......
};
......

在这里由于#include指令的嵌套使用,导致头文件head.h被包含了两次,于是编译时系统会指出错误:类cla被重复定义。

这时我们可以在可能被重复的头文件中使用条件编译指令。用一个唯一的标识符来标记某文件是否已经参加过编译,若已经参加过编译,则在编译时忽略重复部分。将head.h改写如下:

//head.h
#ifndef HEAD_H
#define HEAD_H
......
class cla {
	......
};
......
#endif

这样就不会造成对类cla的重复定义啦 属于菜鸟的一些笔记_第1张图片

【方法来自《c++语言程序设计》郑莉等著 第五章 数据的共享与保护】

基类成员在派生类中的的访问属性
基类中的成员 在公用派生类中的访问属性 在私有派生类中的访问属性 在保护派生类中的访问属性
私有成员 不可访问 不可访问 不可访问
公用成员 公用 私有 保护
保护成员 保护 私有 保护

 
派生类中的成员的访问属性
派生类中的成员 在派生类中 在派生类外部 在下层公用派生类中
派生类中访问属性为公用的成员 可以 可以 可以
派生类中访问属性为受保护的成员 可以 不可以 可以
派生类中访问属性为私有的成员 可以 不可以 不可以
在派生类中不可访问的成员 不可以 不可以 不可以



你可能感兴趣的:(C++,c,菜鸟,笔记)