`
nicegege
  • 浏览: 580178 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

c++基本知识

    博客分类:
  • c++
 
阅读更多

1.类:包含某一物体的基本属性的抽象。

2.对象:具体指某一个物体。实实在在存在的东西。

3.构造函数:负责类创建对象的函数。如果类没有声明构造函数,c++编译器会提供默认的无参的构造函数。这个函数只负责创建对象,不负责对象初始化工作。

4.析构函数:负责释放对象,内存的回收。

5.变量访问修饰符:

public

private

protected

6.函数的重载:发生在同一个类中。

7.输入输出流

8.this指针

9.函数的覆盖:发生在父类和子类之间,子类重写父类的函数。

10.类型转换:

int 4byte

char 1byte

char->int 允许

int->char 丢失精度

对象之间的转换,主要看内存模型是否一样。

11.visual 虚函数:迟邦定

12.纯虚函数:不太清楚如何实现基类的函数,声明而已。由派生类实现函数。

13.引用:变量的别名;int a=5; int &b=a;

              没用内存地址

练习代码:

#include<iostream.h> 
class Animal{
private:
	int height;
	int width;
public:
	void eat(){
		cout<<"animal eat"<<endl;
	}
	void sleep(){
		cout<<"animal sleep"<<endl;
	}
	void breathe(){
		cout<<"animal breathe"<<endl;
	}
	Animal(){
		cout<<"animal constructor"<<endl;
	}
	Animal(int x,int y){
		this->height=y;
		this->width=x;
	}
	~Animal(){
		cout<<"animal xigou"<<endl;
	}


};
class Fish : public Animal{
	void test(){
		eat();
		sleep();
	}
public:
	Fish():Animal(300,400).a(1){//子类调用父类的带参构造函数,给常量做初始化
		cout<<"fish counstranter"<<endl;
	}
	~Fish(){
		cout<<"fish xigou"<<endl;
	}
	void breate(){
		Animal::breathe();
		cout<<"breathe double"<<endl;
	}
private:
	const int a;
};
void fn(Animal *pan){
	pan->breathe();
}
void change(int a,int b){
	
}
void main(){
	//	Animal am;
	//am.eat();
	//cout<<"hello world"<<endl;
	Animal *pan;
	Fish fish;
	pan=&fish;
	fn(pan);
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics