标签:private include c++学习 public return
C语言与c++的区别:1、c++后缀为.cpp C语言为.c
2、输入输出C语言为scanf、printf、c++为cout、cin
3、头文件C语言为stdio.h、c++为iostream
4、C语言不用using namespace std;//命名空间当c++中出现同名同参的方法时可以使用名命空 间来使两个方法都实现。
5、C语言不可重载,c++可以重载
6、C语言不可定义空struct{}c++可以定义空的,c++的自定义类型为class也可以使用struct
C语言不可以使用class
7、C语言是面向过程的,注重方法函数,c++的是面向过程的注重对象。
c++的四大特性:抽象、封装、继承、多态。
结构体内可以使用访问限定符。不使用就默认为公有。类默认为私有,这也是结构体和类的区别。
struct student
{
public:
age;
private:
heavy;
}
::作用域解析符限定函数,限定了函数方法为哪个类如果不加则为全局函数。
返回值 类名::函数名(参数)
类不占用空间,只有实例化分配空间后才可对类进行操作。
this指针指向的是当前调用的对象,他是默认的。
const的作用封锁参数,修饰函数,修饰返回类型
int * const p p不可修改为常量
int const *p *p不可修改他所指向的不可修改
int const * const p p和他所指向的都不可修改
#include<iostream> //#include<stdio.h>
using namespace std;//命名空间 // void Print()
class Hello //{
{ // printf("hello word!");
private://私有 //}
protected://受保护 //int main(int argc.char argv[])
public://公有 //{
public: // Print();
void Print() // return 0;
{ //}
cout<<"hellow word!"<<endl; //
} //
} //
Int main()
{
Hello myclass;
myclass.print();
return 0;
}
实现的都是最简单的输出”hello word!“。
///////////(初步接触感觉c++好麻烦。但是封装起来比c好点。)
c++的语法和c相同。c++可以全面兼容c。
在使用字符串的时候应注意。
c++基础由STL模板库、空间配置器、容器、仿函数、算法、迭代器六个模块。
运算符的重载具有重要的意义。(operator)不可重载‘&&’‘.‘‘||’、‘,’‘*’ ‘::’ ‘? :’ ,‘sizeof’,typedef
operator :==
class person
{
public: int age ;
};
bool operator ==(person const& p1,person const &p2)
{
if(p1.age==p2.age)
return ture;
else return false;
}
operator: ++()前增量 ++(Int)后增量
class Test
{
private:
int value;
public:
test(int x=3):value(x) {}
Test &operator++();//前增量
Test &operator++(int);//后增量
void show()
{
cout<<"my value="<<value<<endl;
}
}
;//前增量 Test& 是指返回一个Test的地址
Test &Test::operator++()
{
++value;
return *this;
}
//后增量
Test& Test::operator++(
int
)
{
Test tmp(*this);//创建临时对像
++value;
//再增量
return
tmp;
//返回临时对像
}
}
分配空间用的是new和delete。多少个new就有多少个delete,否则会造成内存泄露。
delete时注意不要释放空的无效的。(invalid pointer)
类里具有6个默认函数:默认构造、析构函数、赋值构造、拷贝构造、取地址、静态取地址
类外对象只能访问公有。
继承得到的派生类不能访问基类私有。
template :模板类时注意template<typename(class也可以) Type>后直接接的是类.
文件的操作:fopen,fclose。
this指针指的是当前调用的对象。
new的作用有:分配空间和定位、
深拷贝与浅拷贝。默认为浅拷贝。深拷贝分配空间浅拷贝不分配空间。使用另外的空间记录拷贝次数,
若需要的是深拷贝则另外开辟空间,浅拷贝的话就将数值加一,删除就减一。这里需要对等号的重载。
多态是将基类的虚函数表替换为派生类的函数地址,当基类派生类有同名函数时,派生类方法会覆盖基类方法
基类函数为虚函数时,派生类必须对该方法定义,
纯虚函数不可以创建对象。
智能指针:std::auto_ptr、booth::scoped_ptr、booth::shared_ptr、booth::scoped_array、
booth::intrusive_ptr、booth::weak_ptr、booth::shared_array
是将智能指针包含了 reset() 方法,如果不传递参数(或者传递 NULL),则智能指针会释放当前管理的内存。如果传递一个对象,则智能指针会释放当前对象,来管理新传入的对象。
标签:private include c++学习 public return
原文地址:http://11870516.blog.51cto.com/11860516/1835159