C++基础知识(一)

最近又重新开始学习了一下C++知识,发现自己还是又很多遗漏的角落。一步一个脚印是最有效的。下面是一个基础示例:

#include "stdafx.h"
#include "iostream.h"

class student//基类
{
private:
 int stu_num;
 char* stuname;
 char* sex;
   
protected:

public:
 student(){};
 student(int num,char* name,char* sex);
 student* get();
 void virtual printstu();//虚函数声明,一旦基类声明虚函数,派生类就一定是虚函数即便不写virtual
 void setname(char* name);
 void friend setsex(student* stu,char* sex);
 student operator++(int);//运算符重载
};
student student::operator ++(int)
{
 student s;
 s.stu_num=stu_num++;
 return s;
}
void setsex(student* stu,char* sex)//友元函数
{
 stu->sex=sex;
}
inline void student::setname(char* name)//内联函数
{
 this->stuname=name;
}

student::student(int num,char* name,char* sex)//构造函数
{
    this->stu_num=num;
 this->stuname=name;
 this->sex=sex;
}
void student::printstu()//打印函数
{
 cout<<this->sex<<"\n"<<this->stuname<<"\n"<<this->stu_num<<"\n"<<endl;
}
student* student::get()//返回本身对象指针
{
     return(this);
}

class univstudent:public student//派生类
{
private:
 int age;
    char* edubkground;
public:
 //派生类构造函数初始化
 univstudent(int age,char *edubkground,int num,char* name,char* sex):age(age),edubkground(edubkground),student(num,name,sex){}
    void printstu();
};
void univstudent::printstu()
{
 student::printstu();
 cout<<this->age<<"\n"<<this->edubkground<<"\n"<<endl;
}

void main()
{
 //利用指针建立对象
    printf("利用指针建立对象:\n");
 student *stu1=new student(3,"qinhui","male");
    stu1->printstu();
    stu1->get()->printstu();
 //直接建立对象并初始化
    printf("直接建立对象并初始化:\n");
 student stu2(1,"yuanyuan","female");
 student *p;
 p=&stu2;
 stu2.printstu();//用对象调用函数
    p->printstu();//用指针调用函数
 //虚函数示例
 printf("虚函数示例:\n");
 univstudent univstu(23,"college",1,"qinhui","male");
 student *u2=new student(2,"yuanyuan","female");//建基类指针
 u2->printstu();//调用基类构造函数
 u2=&univstu;
 u2->printstu();//调用派生类构造函数
 //内联函数示例
 printf("内联函数示例\n");
 stu1->setname("秦辉");
 stu1->printstu();
    //友元函数示例
 printf("友元函数示例\n");
 setsex(stu1,"男");
 stu1->printstu();
    //重载运算符示例
 printf("重载运算符示例:\n");
 stu2++;
    stu2.printstu();
}

posted @ 2005-01-09 11:30  小白天地  阅读(803)  评论(0)    收藏  举报