c++学习第三天

来源:互联网 发布:快速软件开发平台 编辑:程序博客网 时间:2024/06/03 17:46


c++程序结构

1 在类中声明方法  .cpp中

2 在外面实现方法的主体


第一个

#include <stdio.h>


class Person {
private:
char *name;
int age;
char *work;


public:
void setName(char *name);
int setAge(int age);
void printInfo(void);
};


void Person::setName(char *name)
{
this->name = name;
}


int Person::setAge(int age)
{
if (age < 0 || age > 150)
{
this->age = 0;
return -1;
}
this->age = age;
return 0;
}


void Person::printInfo(void)
{
printf("name = %s, age = %d, work = %s\n", name, age, work); 
}


int main(int argc, char **argv)
{
Person per;


//per.name = "zhangsan";
per.setName("zhangsan");
per.setAge(200);
per.printInfo();

return 0;
}


2 对于两个类,A实现Person类   Person.h  Person.cpp

B实现main, B关心怎么用Person类

Person.h

#include <stdio.h>


class Person {
private:
char *name;
int age;
char *work;


public:
void setName(char *name);
int setAge(int age);
void printInfo(void);
};


Person.cpp

#include <stdio.h>
#include "person.h"


void Person::setName(char *name)
{
this->name = name;
}


int Person::setAge(int age)
{
if (age < 0 || age > 150)
{
this->age = 0;
return -1;
}
this->age = age;
return 0;
}


void Person::printInfo(void)
{
printf("name = %s, age = %d, work = %s\n", name, age, work); 
}


Main.cpp

#include <stdio.h>
#include "person.h"


int main(int argc, char **argv)
{
Person per;


//per.name = "zhangsan";
per.setName("zhangsan");
per.setAge(200);
per.printInfo();

return 0;
}

makefile


person: main.o person.o
g++ -o $@ $^


%.o : %.cpp
g++ -c -o $@ $<


clean:
rm -f *.o person


------------------------------------------------------------------

如果新建一个类   Dog类

相同名字的函数;

通过nameSpace来实现  区分





0 0