一点点c++面向对象
c++的语法很复杂,设计起来更是费脑子,所以这里只讲如何c++对象的调用
简单类的设计
//cat.hpp
//设计头文件
namespace Pet{ //定义命名空间
template <class T> //定义类型泛型
class Cat //创建类
{
private:
int size;
int age;
char* color;
T Generics;
public:
void set_size(int);
void set_age(int);
void set_color(char*);
int get_size();
int get_age();
char*get_color();
int size_of_generics();
};
template <typename T> //函数泛型
void size_of_function_generics();
}
//cat.cpp
//实现文件
//类中函数的实现
template <class T>
void Pet::Cat::set_size(int size){
this->size = size;
};
template <class T>
void Pet::Cat::set_age(int age){
this->age = age;
};
template <class T>
void Pet::Cat::set_color(char* color){
this->color = color;
};
template <class T>
int Pet::Cat::get_size(){
return this->size;
};
template <class T>
int Pet::Cat::get_age(){
return this->age;
};
template <class T>
char* Pet::Cat::get_color(){
return this->color;
};
template <class T>
int Pet::Cat::size_of_generics(){
return sizeof(T);
};
//函数的实现
template <typename T>
void Pet::size_of_function_generics(){
printf("%d",sizeof(T));
};
调用
#include "cat.hpp"
int main(){
Pet::Cat<int> kite;
kite.set_size(10);
kite.set_age(3);
kite.set_color("red");
int class_T_size = kite.size_of_generics();
Pet::size_of_function_generics<float>();
}