81-85.c++个人练习。

来源:互联网 发布:深入浅出mysql 百度云 编辑:程序博客网 时间:2024/06/07 07:38

1.

class Cat {public:Cat(int age) :itsAge(age) {numOfCats++;}virtual ~Cat() {numOfCats--;}virtual int getAge() {return itsAge;}virtual void setAge(int age) {itsAge = age;}static int getNumOfCats() {return numOfCats;}private:int itsAge;static int numOfCats;};int Cat::numOfCats = 0;void telepathicFunction();int main() {const int maxCats = 5;Cat *catHouse[maxCats];int i;for (i = 0; i < maxCats; i++) {catHouse[i] = new Cat(i);telepathicFunction();}for (i = 0; i < maxCats; i++) {delete catHouse[i];telepathicFunction();}return 0;}void telepathicFunction() {cout << "There are " << Cat::getNumOfCats() << " cats alive!\n";}

2.

#include "my_x_y_z.h"int main() {X x;Z z;z.f(&x);return 0;}

#ifndef  MY_X_Y_Z_Hclass X; class Y {public:void g(X*);};class X { private:int i;public:X(){i=0;}friend void h(X*);friend void Y::g(X*);friend class Z;};void h(X* x) { x->i =+10; }void Y::g(X* x) { x->i ++; }class Z {public:void f(X* x) { x->i += 5; }};#endif//  MY_X_Y_Z_H


原创粉丝点击