// class.cpp : Defines the entry point for the console application.
//
include "stdafx.h"
include <iostream>
include <string>
using namespace std;
void inr(int& m);
void vor(int m);
class Animal //-------------------父类
{
private: //私有
char name[20];
protected://保护类型
int age;
public :
void show(char* na ,int a);
};
class Cat : public Animal //子类--------------------
{
public:
void fly();
};
void Cat::fly()
{
cout << "Im's cat,i don't fly!" << endl;
}
void Animal ::show(char* na ,int a)
{
strcpy(name,na);
this->age = a;
cout <<"hello,my name is"<< name<<"\n"<<"and my sge is"<<age<<endl;
}
int main(int argc, char* argv[])
{
Animal A;
A.show("tiger",15);
Cat B;
B.show("laoshu",18); //因为是公有继承animal的私有元素。。。所以能像Animal类一样使用公开的和保护的函数
B.fly();
int m = 15; //c
vor(m); //形参的传入,相当于是m的复制一份给vor函数,用完消失
cout << m <<endl;
inr(m); //数值地址传入,是对地址进行修改。(引用和取别名)是对源参数的再次命名。。而指针是对指针指向进行交换。
cout << m <<endl;
return 0;
}
void inr(int& m)
{
++m;
}
void vor(int m)
{
++m;
}
void swap (int* a, int* b)
{
int * t ;
*t = *a;
a =b;
b =t
}
void swap(&a,&b)
{
int t ;
t = a;
a = b;
b = t
}
// 公 -- 保护 -- 私有
// 父类 √ --√ --√
// 子类 √ --√ --×
// 外 √ --× --×
网友评论